帅气的洋葱 · VSCode报错 Unexpected ...· 2 周前 · |
奔跑的鸭蛋 · 在onChange事件中获取按钮值 - · 5 天前 · |
奋斗的企鹅 · JS---DOM---点击操作---part ...· 5 天前 · |
果断的汉堡包 · 现在有用于小米路由3的OpenWRT固件吗_ ...· 1 月前 · |
温文尔雅的圣诞树 · 众多国家派出留学生到长安,唐帝国如何实现对留 ...· 4 月前 · |
失落的鸡蛋面 · 人民法院司法改革案例选编(九)-中国法院网· 8 月前 · |
深沉的电脑桌 · 保时捷卡宴混动又降价?最高降14.04万全国 ...· 1 年前 · |
热心的大熊猫 · 北上广深,谁才是真正的药王?· 1 年前 · |
激动的抽屉
11 月前 |
TypeError: linear(): argument 'input' (position 1) must be Tensor, not tuple
def train(verbose = False):
net.train()
loss_list = []
for i,data in enumerate(train_dataloader):
inputs = data['inputs']
groundtruths = data['groundtruths']
if USE_GPU:
inputs = Variable(inputs).cuda()
groundtruths = Variable(groundtruths).cuda()
else:
inputs = Variable(inputs)
groundtruths = Variable(groundtruths)
#将参数的grad值初始化为0
optimizer.zero_grad()
#获得网络输出结果
out = net(inputs)
#根据真值计算损失函数的值
loss = loss_criterion(out,groundtruths)
#通过优化器优化网络
loss.backward()
optimizer.step()
loss_list.append(loss.item())
return loss_list
def test():
error = 0.0
predictions = []
test_groundtruths = []
# 告诉网络进行测试,不再是训练模式
net.eval()
for i,data in enumerate(test_dataloader):
inputs = data['inputs']
groundtruths = data['groundtruths']
if USE_GPU:
inputs = Variable(inputs).cuda()
groundtruths = Variable(groundtruths).cuda()
else:
inputs = Variable(inputs)
groundtruths = Variable(groundtruths)
out = net(inputs)
error += (error_criterion(out,groundtruths).item()*groundtruths.size(0))
if USE_GPU:
predictions.extend(out.cpu().data.numpy().tolist())
test_groundtruths.extend(groundtruths.cpu().data.numpy().tolist())
else:
predictions.extend(out.data.numpy().tolist())
test_groundtruths.extend(groundtruths.data.numpy().tolist())
average_error = np.sqrt(error/len(test_data_trans))
return np.array(predictions).reshape((len(predictions))),np.array(test_groundtruths).reshape((len(test_groundtruths))),average_error
def main():
#记录程序开始的时间
train_start = time.time()
loss_recorder = []
print('starting training... ')
for epoch in range(EPOCHES):
# adjust learning rate
adjust_lr.step()
loss_list = train(verbose= True)
loss_recorder.append(np.mean(loss_list))
print('epoch = %d,loss = %.5f'%(epoch+1,np.mean(loss_list)))
print ('training time = {}s'.format(int((time.time() - train_start))))
# 记录测试开始的时间
test_start = time.time()
predictions, test_groundtruth, average_error = test()
print(predictions.shape)
print(test_groundtruth.shape)
print('test time = {}s'.format(int((time.time() - test_start)+1.0)))
print('average error = ', average_error)
result = pd.DataFrame(data = {'Q(t+1)':predictions,'Q(t+1)truth':test_groundtruth})
result.to_csv('D:/python目录/pythonProject/STA-LSTM-main/data/output/out_t+1.csv')
torch.save(net,'D:/python目录/pythonProject/STA-LSTM-main/models/sta_lstm_t+1.pth')
if name == 'main':
main()
0
提建议
微信扫一扫
点击复制链接
分享
邀请回答
编辑
收藏
删除
结题
收藏
举报
追加酬金
(90%的用户在追加酬金后获得了解决方案)
当前问题酬金
¥
0
(可追加 ¥500)
支付方式
扫码支付
加载中...
3
条回答
默认
最新
-
关注
码龄
粉丝数
原力等级 --
-
被采纳
-
被点赞
-
采纳率
Dengwenjun1688
2023-02-16 17:47
关注
这个错误通常是因为输入参数类型错误引起的。在这个函数中,错误发生在`out = net(inputs
你可以检查
for i, data in enumerate(train_dataloader):
inputs, groundtruths = data[0], data[1]
这样,inputs和groundtruths就被提取出来并赋值给了相应的变量,就可以避免这个错误。
本回答被题主选为最佳回答
, 对您是否有帮助呢?
本回答被专家选为最佳回答
, 对您是否有帮助呢?
本回答被题主和专家选为最佳回答
, 对您是否有帮助呢?
微信扫一扫
点击复制链接
分享
举报
按下Enter换行,Ctrl+Enter发表内容
查看更多回答(2条)
报告相同问题?
-
-
-
-
sethnieTech的博客
TypeError
:
linear
():
argument
'
input
' (
position
1) must be
Tensor
, not numpy.ndarray
-
-
-
-
WGS.的博客
linear
():
argument
'
input
' (
position
1) must be
Tensor
, not str
-
-
-
-
草履虫稽亚娜的博客
这个错误提示说,在调用dropout函数时,第一个参数(位置为1)必须是
Tensor
类型,而不是字符串类型。 可能是因为您在调用dropout函数时,传递的参数类型不是
Tensor
,而是字符串。您需要检查您的代码,确保dropout函数...
-
-
wenwv的博客
transforms.To
Tensor
() 转换为
Tensor
格式。 经检查发现是网络结构问题。 网络搭建过程中MaxPool2d()中设置return_indices=True,这意味着它将返回一个包含值和索引的元组。后面不能直接接卷积层。 ...
-
2022-04-06 11:04
小王做笔记的博客
TypeError
: dropout():
argument
'
input
' (
position
1) must be
Tensor
, not str 背景解决方法整体代码参考链接 背景 使用 hugging face 中的 预训练模型 完成文本分类任务的过程中。出现了这个问题。 问题排查...
-
2022-02-20 10:50
weixin_40227656的博客
fog/AOD-Net/metrics.py", line 56, in ssim img1=torch.clamp(img1,min=0,max=1)
TypeError
: clamp():
argument
'
input
' (
position
1) must be
Tensor
, not int 问题分析: 报错内容指出输入ssim的img1不是
tensor
,...
-
一万的亿的博客
https://stackoverflow.com/questions/65082243/dropout-
argument
-
input
-
position
-1-must-be-
tensor
-not-str-when-using-bert
-
2022-03-10 15:45
问夏WenXia的博客
报错信息:卷积的输入应该是
tensor
,而不是Nonetype。 输入的图片是正常的
tensor
,但是为什么会报错。 通过定位与检测,发现我写一个自定义常规卷积的时候,忘记return了。 class BasicBlock(nn.Module): expansion...
-
没有解决我的问题,
去提问
悬赏问题
-
¥300
Node.js connect ECONNREFUSED 错误
用Python 编译KEITHLEY 2400遇到的问题。
曲面部件制孔路径优化
华为OLT告警删除及屏蔽
微信小程序如何提高加载速度
用python设计一个滑动拼图小游戏
求2方主体各3策略演化博弈模型matlab代码
请教下vscode 下 lua 用哪个字体可以连接符号? ~= ==啥的
奔跑的鸭蛋 · 在onChange事件中获取按钮值 - 5 天前 |
果断的汉堡包 · 现在有用于小米路由3的OpenWRT固件吗_百度知道 1 月前 |
失落的鸡蛋面 · 人民法院司法改革案例选编(九)-中国法院网 8 月前 |
热心的大熊猫 · 北上广深,谁才是真正的药王? 1 年前 |