标签: torch

从S3存储桶加载pytorch模型

model.pt我想从 S3 存储桶加载 pytorch 模型 ( )。我写了以下代码:

from smart_open import open as smart_open
import io

load_path = "s3://serial-no-images/yolo-models/model4/model.pt"
with smart_open(load_path) as f:
    buffer = io.BytesIO(f.read())
    model.load_state_dict(torch.load(buffer))
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 64: invalid start byte
Run Code Online (Sandbox Code Playgroud)

一种解决方案是在本地下载模型,但我想避免这种情况并直接从 S3 加载模型。不幸的是,我在网上找不到一个好的解决方案。有人可以帮我吗?

amazon-s3 torch pytorch

3
推荐指数
1
解决办法
5843
查看次数

割炬旋转方向.rot90

在 torch.rot90 的文档中指出

如果 k > 0,旋转方向为从第一轴朝向第二轴;如果 k < 0,则旋转方向为从第二轴朝向第一轴。

但是假设我们从0轴旋转到1轴,0轴旋转到1轴是顺时针方向还是逆时针方向?(因为它们都是 90 度旋转,如下图所示)

在此输入图像描述

python rotation torch pytorch

3
推荐指数
1
解决办法
1239
查看次数

理解 PyTorch 中使用backward()的梯度计算

我试图了解基本的 pytorch autograd 系统:

x = torch.tensor(10., requires_grad=True)
print('tensor:',x)
x.backward()
print('gradient:',x.grad)
Run Code Online (Sandbox Code Playgroud)

输出:

tensor: tensor(10., requires_grad=True)
gradient: tensor(1.)
Run Code Online (Sandbox Code Playgroud)

由于x是一个标量常量并且没有函数应用于它,所以我期望0.作为梯度输出。为什么是渐变1.呢?

python gradient-descent torch pytorch autograd

3
推荐指数
1
解决办法
224
查看次数

如何使用火炬从caffe模型中获取图层

在python中,当我想使用caffe从图层获取数据时,我有以下代码

    input_image = caffe.io.load_image(imgName)
    input_oversampled = caffe.io.resize_image(input_image, self.net.crop_dims)
    prediction = self.net.predict([input_image])
    caffe_input = np.asarray(self.net.preprocess('data', prediction))
    self.net.forward(data=caffe_input)
    data = self.net.blobs['fc7'].data[4] // I want to get this value in lua
Run Code Online (Sandbox Code Playgroud)

当我使用火炬时,我有点卡住,因为我不知道如何执行相同的动作.目前我有以下代码

require 'caffe'
require 'image'
net = caffe.Net('/opt/caffe/models/bvlc_reference_caffenet/deploy.prototxt', '/opt/caffe/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel')
img = image.lena()
dest = torch.Tensor(3, 227,227)
img = image.scale(dest, img)
img = img:resize(10,3,227,227)
output = net:forward(img:float())
conv_nodes = net:findModules('fc7') -- not working
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

python lua torch caffe

2
推荐指数
1
解决办法
3038
查看次数

如何使用torch的类系统创建自定义类

我试图遵循实用功能火炬文档.

我做了以下事情:

Blah = torch.class('Blah')
function Blah:__init(); end
blah = Blah()
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

attempt to call global 'Blah' (a table value)
Run Code Online (Sandbox Code Playgroud)

我期望__init()函数以某种方式通过__callmetatable机制工作,但Blah似乎甚至没有metatable:

th> getmetatable(Blah) == nil
true
Run Code Online (Sandbox Code Playgroud)

也许文档已经过时了?但火炬似乎在内部以这种方式创造了大量的课程.

我刚刚更新到最新的火炬,所以我知道这不是我的火炬版本太旧了...

思考?

lua torch

2
推荐指数
1
解决办法
1363
查看次数

火炬:将张量保存到csv文件

我一直在和火炬一起工作.我目前的程序需要导出包含简化特征矩阵的Tensor.我尝试过以下操作:

torch.save('t.csv',torch.Tensor({{1,2},{3,4}}),'ascii')
Run Code Online (Sandbox Code Playgroud)

输出是:

4
1
3
V 1
18
torch.DoubleTensor
2
2 3
3 1
1
4
2
3
V 1
19
torch.DoubleStorage
6
1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

预期产量:

1, 2, 3
4, 5, 6
Run Code Online (Sandbox Code Playgroud)

我希望有人知道如何做到这一点?

csv export-to-csv torch

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

如何在火炬中编写updateGradInput和accGradParameters?

我知道这两个功能是火炬的向后传播和界面如下 updateGradInput(input, gradOutput) accGradParameters(input, gradOutput, scale) 我感到困惑的是什么gradInput,并gradOutput真正在层意思.假设网络的成本是C一层L.难道gradInputgradOutput层的L意思是d_C/d_input_Ld_C/d_output_L

如果是这样,如何计算gradInput符合gradOutput

而且,是否accGradParameters意味着积累d_C/d_Weight_Ld_C/d_bias_L?如果是这样,如何计算这些值?

backpropagation neural-network gradient-descent deep-learning torch

2
推荐指数
1
解决办法
1929
查看次数

如何从python加载和使用火炬深度学习模型?

我使用python作为我的真实应用程序,并喜欢在python中使用火炬模型.有没有可用的界面或简单的方法呢?

lua python-2.7 deep-learning torch

2
推荐指数
1
解决办法
2963
查看次数

如何理解Lua中的metatable?

我使用过Python,但现在我因为Torch而学习Lua."metatable"这个词对我来说真的很难理解.例如,是一种特殊的表格吗?它如何改变表的行为?

lua metatable torch

2
推荐指数
1
解决办法
628
查看次数

Pytorch如何对3D Tensor(变量)中的每个矩阵进行行归一化?

如果我有一个尺寸为[a,b,c]的3D张量(变量)。将其视为ab * c矩阵,我希望所有这些矩阵都进行行归一化。

torch pytorch tensor

2
推荐指数
1
解决办法
6725
查看次数