标签: torch

如何在Torch REPL中更改工作目录

标题说明了,如何更改Torch REPL中的工作目录?我尝试使用os.execute('cd some_dir')调用,但这不起作用,如此处所示.

th> pwd() --prints:/ home/user/Code
th> os.execute('cd ..') --prints:true exit 0
th> pwd() - print:/ home/user/Code

其中pwd()是一个调用os.execute('pwd')的便捷函数.

lua luajit torch

4
推荐指数
1
解决办法
2060
查看次数

[火炬]如何在nn模型中读取权重

我使用itorch笔记本构建了nn模型.

model = nn.Sequential()

model:add(nn.Reshape(ninputs))

model:add(nn.Linear(ninputs,noutputs))
Run Code Online (Sandbox Code Playgroud)

输入数据到模型

output = model:forward(input)
Run Code Online (Sandbox Code Playgroud)

然后,我打印模型并得到了这个.

print(model)

nn.Sequential {
  [input -> (1) -> (2) -> output]
  (1): nn.Reshape(3072)
  (2): nn.Linear(3072 -> 10)
}
{
  gradInput : DoubleTensor - empty
  modules : 
    {
      1 : 
        nn.Reshape(3072)
        {
          _input : DoubleTensor - empty
          nelement : 3072
          train : true
          output : DoubleTensor - size: 3072
          gradInput : DoubleTensor - empty
          size : LongStorage - size: 1
          _gradOutput : DoubleTensor - empty
          batchsize : LongStorage - size: 2 …
Run Code Online (Sandbox Code Playgroud)

neural-network torch

4
推荐指数
1
解决办法
5798
查看次数

从一维张量中提取前k个值索引

给定Torch中的一维张量(torch.Tensor),其中包含可以比较的值(例如浮点数),我们如何提取该张量中前k个值的索引?

除了蛮力方法外,我还在寻找Torch / lua提供的一些API调用,它可以有效地执行此任务。

lua torch

4
推荐指数
2
解决办法
3022
查看次数

lua中的并行迭代

我想在Lua中并行遍历多个表.我可以这样做:

for i in range(#table1)
  pprint(table1[i])
  pprint(table2[i])
end
Run Code Online (Sandbox Code Playgroud)

但我更喜欢python的东西zip:

for elem1, elem2 in zip(table1, table2):
  pprint(elem1)
  pprint(elem2)
end
Run Code Online (Sandbox Code Playgroud)

在标准的Lua中是否有这样的东西(或者至少在火炬包装的任何东西中?).

iteration lua for-loop torch

4
推荐指数
2
解决办法
898
查看次数

名称 '_C' 未定义 pytorch+jupyter notebook

我有一些使用 pytorch 的代码,它们在我的 IDE (pycharm) 中运行良好。

为了研究,我尝试从 jupyter notebook 运行它。

笔记本中的代码:

from algorithms import Argparser
from algorithms import Session
def main():
    print("main started")
    args = Argparser.parse()
    session = Session(args)
    session.run()
Run Code Online (Sandbox Code Playgroud)

包看起来像:

|-algorithms
|---__init__.py
|---Argparser.py
|---Session.py
|---<many more files that are being used by Session>.py
Run Code Online (Sandbox Code Playgroud)

其中一些文件确实如此 import torch

在笔记本中运行代码时,我得到

NameError Traceback(最近一次调用)在 1 from algorithm import Argparser ----> 2 from algorithm import Session 3 def main(): 4 print("main started") 5 args = Argparser.parse()

D:\git\stav\stav-rl\algorithms\Session.py in 12 13 ---> 14 from algorithm.Episode import …

python torch jupyter jupyter-notebook pytorch

4
推荐指数
2
解决办法
8701
查看次数

类型错误:view() 最多接受 2 个参数(给出 3 个)

我尝试在 pytorch 中使用 view() 但我无法输入 3 个参数。我不知道为什么它一直出现这个错误?谁能帮我这个?

    def forward(self, input):
        lstm_out, self.hidden = self.lstm(input.view(len(input), self.batch_size, -1))
Run Code Online (Sandbox Code Playgroud)

torch lstm pytorch

4
推荐指数
1
解决办法
3213
查看次数

如何在循环中为 pytorch 神经网络中的层创建变量名称

我正在 PyTorch 中实现一个简单的前馈神经 newtork。但是我想知道是否有更好的方法来向网络添加灵活的层数?也许通过在循环中命名它们,但我听说那是不可能的?

目前我正在这样做

import torch
import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):

    def __init__(self, input_dim, output_dim, hidden_dim):
        super(Net, self).__init__()
        self.input_dim = input_dim
        self.output_dim = output_dim
        self.hidden_dim = hidden_dim
        self.layer_dim = len(hidden_dim)
        self.fc1 = nn.Linear(self.input_dim, self.hidden_dim[0])
        i = 1
        if self.layer_dim > i:
            self.fc2 = nn.Linear(self.hidden_dim[i-1], self.hidden_dim[i])
            i += 1
        if self.layer_dim > i:
            self.fc3 = nn.Linear(self.hidden_dim[i-1], self.hidden_dim[i])
            i += 1
        if self.layer_dim > i:
            self.fc4 = nn.Linear(self.hidden_dim[i-1], self.hidden_dim[i])
            i += 1
        if self.layer_dim > i: …
Run Code Online (Sandbox Code Playgroud)

python neural-network torch pytorch

4
推荐指数
1
解决办法
2423
查看次数

炬管挤压和批次尺寸

这里有没有人知道该torch.squeeze函数是否尊重批次(例如第一)维度?从一些内联代码来看,它似乎没有......但也许其他人比我更了解内部工作原理。

顺便说一句,潜在的问题是我有 shape 的张量(n_batch, channel, x, y, 1)。我想用一个简单的函数删除最后一个维度,这样我最终会得到一个(n_batch, channel, x, y).

重塑当然是可能的,甚至可以选择最后一个轴。但我想将此功能嵌入到一个层中,以便我可以轻松地将它添加到一个ModuleListSequence对象中。

编辑:刚刚发现对于 Tensorflow (2.5.0) 函数tf.linalg.diag确实尊重批次维度。仅供参考,您使用的每个功能可能会有所不同

torch pytorch

4
推荐指数
1
解决办法
2889
查看次数

Pytorch:AttributeError:'function'对象没有属性'copy'

我正在尝试加载state_dict我在 Google Colab GPU 上训练的模型,这是我加载模型的代码:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

model = models.resnet50()
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, n_classes)
model.load_state_dict(copy.deepcopy(torch.load("./models/model.pth",device)))
model = model.to(device)
model.eval()
Run Code Online (Sandbox Code Playgroud)

这是错误:

state_dict = state_dict.copy()

AttributeError: 'function' 对象没有属性 'copy'

火炬:

>>> import torch
>>> print (torch.__version__)
1.4.0
>>> import torchvision
>>> print (torchvision.__version__)
0.5.0
Run Code Online (Sandbox Code Playgroud)

请帮助我到处搜索都无济于事

[完整错误详情][1] https://i.stack.imgur.com/s22DL.png

python deep-learning torch pytorch

4
推荐指数
1
解决办法
7485
查看次数

谷歌colab上的pytorch几何“检测到PyTorch和torch_sparse是用不同的CUDA版本编译的”

我是 pytorch geometry 的新手,尝试将其安装到我的计算机上但失败了,所以我尝试在 Google Colab 上运行代码。根据上一个问题(这对我没有帮助,我不确定是不是同样的问题):

Google Colab 上的 PyTorch Geometric CUDA 安装问题

我做了:

!pip install --upgrade torch-scatter

!pip install --upgrade torch-sparse

!pip install --upgrade torch-cluster

!pip install --upgrade torch-spline-conv 

!pip install torch-geometric

!pip install torch-cluster==latest+cu101 -f https://s3.eu-central-1.amazonaws.com/pytorch-geometric.com/whl/torch-1.4.0.html 

!pip install torch-scatter==latest+cu101 torch-sparse==latest+cu101 torch-spline-conv==latest+cu101 -f https://s3.eu-central-1.amazonaws.com/pytorch-geometric.com/whl/torch-1.4.0.html
Run Code Online (Sandbox Code Playgroud)

他们打印:

Successfully installed torch-cluster-1.5.4

Successfully installed torch-scatter-2.0.4 torch-sparse-0.6.1 torch-spline-conv-1.2.0
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行时

import torch_geometric.datasets as datasets
Run Code Online (Sandbox Code Playgroud)

我得到:

RuntimeError: Detected that PyTorch and torch_sparse were compiled with different CUDA versions. PyTorch has CUDA version 10.1 and torch_sparse …
Run Code Online (Sandbox Code Playgroud)

torch pytorch google-colaboratory

4
推荐指数
2
解决办法
4012
查看次数