itorch notebook上遇到的常见问题及其解决方案(一)

在学习torch的过程中遇到了不少问题,现做一个简单的总结,欢迎补充并批评指正!
%————————————————————————————————-%
错误提示1:

unexpected symbol near ':'

错误举例:

p = 602:add(N+1)   --截取有问题的一行代码

分析及解决方案:在使用add() mul() div()等函数时,冒号前面不能使用常数,应提前将常数赋值给一个变量,如将602改为变量即可,即令a = 602,p = a:add(N+1)
%————————————————————————————————-%
错误提示2:

inconsistent tensor size at /home/torch/pkg/torch/lib/TH/generic/THTensorCopy.c:7

原因分析:矩阵或者张量元素的维度大小不匹配,可能是矩阵内元素表示方法不正确
错误举例:

d=image.load('test.png')    --test.png为1*301*301大小的图片
dd = d[1]
N = torch.rand(1,1):fill(2)
I = torch.Tensor(305,305):fill(0)
for i=1,2 do
    for j=1,2 do
        ii = (N+1):add(-i)
        jj = (N+1):add(-j)
        I[i][j]=dd[{{ii},{jj}}]
    end
end

解决方案:在I[i][j]=dd[{{ii},{jj}}]这一句后面补充上[1][1]即可
即:I[i][j]=dd[{{ii},{jj}}][1][1]
%————————————————————————————————-%
错误提示3:

'for' limit must be a number

原因分析:for循环后面所接的格式不对,下面的例子中第二行代码中的N不是一个数,因此提示错误
错误举例:

N = torch.rand(1,1):fill(2)
for i=1,N do
    for j=1,N[1][1] do
        ii = (N+1):add(-i)
        jj = (N+1):add(-j)
        I[i][j]=dd[{{ii},{jj}}][1][1]
    end
end

解决方案:同上面一个问题类似,在第二行的for循环的N后面加上[1][1]变为N[1][1]即可
%—————————————————————————————————————-%

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值