问题标签 [pytorch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pycharm - PyCharm 中的 PyTorch 特定检查问题
有没有人能够解决 PyCharm 中的 PyTorch 特定检查问题?以前关于非 PyTorch 相关问题的帖子建议升级 PyCharm,但我目前使用的是最新版本。一种选择当然是完全禁用某些检查,但我宁愿避免这样做。
示例:torch.LongTensor(x)
给我“意外的参数...”,而两个调用签名(带和不带x
)都受支持。
python - 如何在 PyTorch 中做矩阵的乘积
在 numpy 中,我可以像这样进行简单的矩阵乘法:
但是,当我尝试使用 PyTorch 张量时,这不起作用:
此代码引发以下错误:
RuntimeError:/Users/soumith/code/builder/wheel/pytorch-src/torch/lib/TH/generic/THTensorMath.c:503 处的张量大小不一致
任何想法如何在 PyTorch 中进行矩阵乘法?
caffe - 将 nngraph 模型转换为 nn 模型
我想将 pix2pix 图像转换为使用 nngraph 构建的图像翻译模型 ( https://github.com/phillipi/pix2pix )。
当我尝试使用 torch to caffe 工具(https://github.com/facebook/fb-caffe-exts#torch2caffe)将其转换为 caffe 模型时,我收到错误“unknown class nn.gModule”。
我还尝试通过来自 torch.utils.serialization 的 load_lua 在 pytorch 中加载 Torch 模型,但我得到了类似的错误。
因为,似乎不支持 nngraph 进行转换。有没有一种方法可以将 nngraph 模型转换为 nn 模型而无需重写或重新训练?下线,我想将 pix2pix 模型转换为各种格式,如 caffe、caffe2、coreML 等,以测试在移动环境中的性能。
谢谢
tensorflow - 结合 2 个不同的 GPU 卡进行小型批处理
我刚买了一台 GTX 1080Ti,我想知道我是否可以同时使用我的旧 GTX 1070 和 GTX 1080Ti 来使用 TensorFlow 或 PyTorch 进行小型批处理。
我主要担心的是:
GTX 1070 会成为 GTX 1080Ti 的瓶颈,还是每张卡的功率都将发挥到最大?
我知道在 SLI 配置中,总 VRAM 的数量将等于数量最少的卡(这里的 GTX 1070 具有 8GB 或 VRAM)但是在不涉及 SLI 的 tensorflow/pytorch 训练期间会发生同样的事情吗?
python - python子进程意外退出,退出代码-9
我有一个包含 16 个进程的 PyTorch 脚本。以下是主进程的代码片段:
是worker_wrapper
这样的:
意志会做一些事情,worker
永远不应该停止。它在开始时运行良好,但通常在运行 1 天后,一些子进程(不是全部)意外退出,我得到如下输出:
它没有发现任何异常。我试图搜索 exitcode -9 但没有得到任何有用的东西。有没有人遇到过这个?或者您对如何调试有任何想法?很抱歉,我无法提供最小的可重现代码片段,因为重现通常需要一天时间。我正在使用python2.7
pytorch - 创建模块时出现AttributeError
我收到以下错误。
AttributeError:不能在模块之前分配模块。初始化()调用
我有一堂课如下。
我在这里做错了什么?我是 PyTorch 的初学者,请帮忙!
pytorch - CUDA 与 DataParallel:为什么不同?
我有一个简单的神经网络模型,我在模型上应用cuda()
或应用DataParallel()
如下。
或者,
当我不使用 DataParallel 时,只需将我的模型转换为cuda()
,我需要将批量输入显式转换为cuda()
然后将其提供给模型,否则它会返回以下错误。
torch.index_select 收到无效的参数组合 - 得到 (torch.cuda.FloatTensor, int, torch.LongTensor)
但是使用 DataParallel,代码可以正常工作。其余的其他事情都是一样的。为什么会发生这种情况?为什么当我使用 DataParallel 时,我不需要将批处理输入显式转换为cuda()
?
arrays - 有效地堆叠阵列/火炬张量的副本?
我是 Python/Pytorch 用户。首先,在 numpy 中,假设我有一个大小为 LxL 的数组 M,并且我想要以下数组:A=(M,...,M) 的大小,比如 NxLxL,是否有更优雅/内存有效的方法比:
与火炬张量相同的问题!原因,现在,如果 M 是变量(torch.tensor),我必须这样做:
这是丑陋的!
torch - 如何在 Pytorch 中使用 DataParallel 并行化 RNN 函数
这是一个运行基于字符的语言生成的 RNN 模型:
我使用 DataParallel 实例化模型,在我的 4 个 GPU 上拆分输入批次:
这是完整的代码。
不幸的是,DataParallel 要求输入具有 batch_size 作为第一维,但 GRU 函数期望隐藏张量具有 batch_size 作为第二维:
原样的代码会引发以下错误(请注意显示编码器在 4 个 GPU 上正确执行的打印输出):
这里模型有 2 层,batch_size=64,hidden_size=100。
如何在 forward 函数中并行化 GRU 操作?
pytorch - PyTorch 中的自定义损失函数
我有三个简单的问题。
- 如果我的自定义损失函数不可微,会发生什么?pytorch 会通过错误还是做其他事情?
- 如果我在我的自定义函数中声明了一个损失变量,它将代表模型的最终损失,我应该输入
requires_grad = True
那个变量吗?或者没关系?如果没关系,那为什么呢? - 我见过人们有时会编写一个单独的层并计算函数中的损失
forward
。哪种方法更可取,编写函数还是层?为什么?
我需要对这些问题有一个清晰而好的解释来解决我的困惑。请帮忙。