在Lua中,doFile和require之间有什么区别,特别是在Torch中?你什么时候打电话给另一个而不打另一个?什么时候会工作但另一个不会?(我正在使用Lua 5.1,火炬7).
我按照说明安装了Torch7 .但是,我无法通过命令行解释器移植任何包:
kamransiquisMBP:~ khsiddiqui$ th
______ __ | Torch7
/_ __/__ ________/ / | Scientific computing for Lua.
/ / / _ \/ __/ __/ _ \ | Type ? for help
/_/ \___/_/ \__/_//_/ | https://github.com/torch
| http://torch.ch
th> require "nn"
...rs/khsiddiqui/torch/install/share/lua/5.1/trepl/init.lua:384:
...rs/khsiddiqui/orch/install/share/lua/5.1/trepl/init.lua:384:
loop or previous error loading module 'torch'
stack traceback:
[C]: in function 'error
...rs/khsiddiqui/torch/install/share/lua/5.1/trepl/init.lua:384:
in function 'require' [string "_RESULT={require "nn"}"]:1: in main chunk
[C]: in function 'xpcall'
...rs/khsiddiqui/torch/install/share/lua/5.1/trepl/init.lua:651:
in function 'real'...iqui/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:199:
in main chunk …Run Code Online (Sandbox Code Playgroud) 我已经学习了 CNN( ) 模型model.t7,并且想在另一个基于 Python 的深度学习框架(例如 TensorFlow)上使用该模型。
你能告诉我如何实现它吗?
谢谢。
所以我正在阅读 pytorch 文档,试图学习和理解一些东西(因为我是机器学习的新手),我发现torch.bernoulli()并且我理解(我想念理解它)它近似于具有 1 到 1 之间的值的张量0 到 1 或 0 取决于值(例如经典学校小于 0.5 = 0 ,大于或等于 0.5 = 1)
经过我自己的一些实验,是的,它按预期工作
>>>y = torch.Tensor([0.500])
>>>x
>>> 0.5000
[torch.FloatTensor of size 1]
>>> torch.bernoulli(x)
>>> 1
[torch.FloatTensor of size 1]
Run Code Online (Sandbox Code Playgroud)
但是当我查看文档时有些奇怪
>>> a = torch.Tensor(3, 3).uniform_(0, 1) # generate a uniform random matrix with range [0, 1]
>>> a
0.7544 0.8140 0.9842
**0.5282** 0.0595 0.6445
0.1925 0.9553 0.9732
[torch.FloatTensor of size 3x3]
>>> torch.bernoulli(a)
1 1 1
**0** 0 …Run Code Online (Sandbox Code Playgroud) python probability-theory torch probability-distribution pytorch
Numpy 为任何RxR -> R函数(如np.multiply.outer或 )提供优化的外部操作np.subtract.outer,其行为如下:
>>> np.subtract.outer([6, 5, 4], [3, 2, 1])
array([[3, 4, 5],
[2, 3, 4],
[1, 2, 3]])
Run Code Online (Sandbox Code Playgroud)
Pytorch 似乎没有提供这样的功能(或者我错过了)。
使用火炬张量最好/通常/最快/最干净的方法是什么?
torch 中的一些操作是就地执行的。例如,速记运算符如 +=。
是否可以就地执行其他操作,例如softmax?
我目前正在从事语言处理工作。该模型在大量词汇上生成一长串概率分布。最终输出张量约占分配内存的 60%。这是一个很大的问题,因为我需要计算它的 softmax ,这会使所需的内存加倍。
这是问题的一个例子。我对张量 t 不感兴趣,只对它的 softmax 感兴趣:
import numpy as np
import torch
import torch.nn.functional as F
t = torch.tensor(np.zeros((30000,30000))).cuda() #allocates 6.71 GB of GPU
softmax = F.softmax(t, 1) #out of memory error
del t #too late, program crashed
Run Code Online (Sandbox Code Playgroud)
即使以下方法也不起作用:
F.softmax(torch.tensor(np.zeros((30000,30000))).cuda(), 1)
Run Code Online (Sandbox Code Playgroud) l_conv7 = self.loc_conv7(conv7_feats) # (N, 24, 19, 19)
l_conv7 = l_conv7.permute(0, 2, 3, 1).contiguous() # (N, 19, 19, 24)
l_conv7 = l_conv7.view(batch_size, -1, 4) # (N, 2166, 4), there are a total 2116 boxes on this feature map
Run Code Online (Sandbox Code Playgroud)
在 TensorFlow 中与火炬视图的等价性是什么?如何更改 TensorFlow 2.0 中的 l_conv7.view?
我正在尝试在 Raspberry PI 上使用 libtorch 构建 C++ 程序。该程序在 Ubuntu 上运行,但在 Raspberry 上构建时出现以下错误:
\nerror: use of deleted function \xc3\xa2\xe2\x82\xac\xcb\x9cvoid torch::jit::script::Module::operator=(const torch::jit::script::Module&)\xc3\xa2\xe2\x82\xac\xe2\x84\xa2\nIn file included from /usr/include/torch/csrc/jit/ir.h:18,\n from /usr/include/torch/csrc/jit/tracer.h:9,\n from /usr/include/torch/csrc/autograd/generated/variable_factories.h:8,\n from /usr/include/torch/csrc/api/include/torch/types.h:7,\n from /usr/include/torch/script.h:3,\n from /tmp/tmp.k6618dczxt/src/../include/suvoNet.h:26,\n from /tmp/tmp.k6618dczxt/src/../include/classifier.h:17,\n from /tmp/tmp.k6618dczxt/src/classifier.cpp:11:\n/usr/include/torch/csrc/jit/script/module.h:319:3: note: declared here\n TH_DISALLOW_COPY_AND_ASSIGN(Module);\nRun Code Online (Sandbox Code Playgroud)\n这是崩溃的代码:
\nMyClass::MyClass() {\n try {\n // Deserialize the ScriptModule from a file using torch::jit::load().\n network = torch::jit::load(MODEL_FILE);\n }\n catch (const c10::Error& e) {\n std::cerr << "Error loading the model\\n";\n exit(-1);\n }\n}\n\nRun Code Online (Sandbox Code Playgroud)\n已network声明为私有 …
我使用“(pytorch) eben:~ eben_hu$ conda install torch”在我的环境“pytorch”中安装 torch,结果如下: 解决环境:初始冻结解决失败。使用灵活的解决方案重试。
PackagesNotFoundError:当前渠道无法提供以下软件包:
目前渠道:
要搜索可能提供您正在寻找的 conda 包的替代频道,请导航至
https://anaconda.org
Run Code Online (Sandbox Code Playgroud)
并使用页面顶部的搜索栏。
我想知道为什么anaconda中没有这样的包?
我有一张图,由 4 个矩阵定义:(x节点特征)、y(节点标签)、edge_index(边列表)和edge_attr(边特征)。我想使用这个单一图形在 Pytorch Geometric 中创建一个数据集并执行节点级分类。由于某种原因,仅仅将这 4 个矩阵包装到一个对象中似乎data失败了。
我创建了一个包含属性的数据集:
Data(edge_attr=[3339730, 1], edge_index=[2, 3339730], x=[6911, 50000], y=[6911, 1])
Run Code Online (Sandbox Code Playgroud)
代表一个图。如果我尝试对这个图进行切片,例如:
train_dataset, test_dataset = dataset[:5000], dataset[5000:]
Run Code Online (Sandbox Code Playgroud)
我收到错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-feb278180c99> in <module>
3 # train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])
4
----> 5 train_dataset, test_dataset = dataset[:5000], dataset[5000:]
6
7 # Create dataloader for training and test dataset.
~/anaconda3/envs/py38/lib/python3.8/site-packages/torch_geometric/data/data.py in __getitem__(self, key)
92 def __getitem__(self, key):
93 r"""Gets …Run Code Online (Sandbox Code Playgroud) torch ×10
python ×5
pytorch ×5
lua ×2
python-3.x ×2
tensorflow ×2
anaconda ×1
bash ×1
build ×1
c++ ×1
dataloader ×1
libtorch ×1
macos ×1
optimization ×1
raspberry-pi ×1