so sorry for my pool english and thank u for watching my question
i set batchsize=2
so after nn.Linear i get a 2x24 vector to use for my Classification task1,
now i want to get a 2X8 vector from the 2X24 vector for my Classification task2,
i used split cat sum and so on to achieve the purpose
but when i run the code ,It can run for a while and then report an error
{{{
Traceback (most recent call last):
File “FeedbackNet_train.py”, line 65, in
trainer.train()
File “/home/fp/feedback/pytorch_feedback-network-master/utils/Trainer.py”, line 113, in train
self._train_one_epoch()
File “/home/fp/feedback/pytorch_feedback-network-master/utils/Trainer.py”, line 184, in _train_one_epoch
outputs1,outputs2 = self.model(inputs) ##4x2x24
File “/home/fp/.conda/envs/toold/lib/python2.7/site-packages/torch/nn/modules/module.py”, line 357, in call
result = self.forward(*input, **kwargs)
File “/home/fp/.conda/envs/toold/lib/python2.7/site-packages/torch/nn/parallel/data_parallel.py”, line 71, in forward
return self.module(*inputs[0], **kwargs[0])
File “/home/fp/.conda/envs/toold/lib/python2.7/site-packages/torch/nn/modules/module.py”, line 357, in call
result = self.forward(*input, **kwargs)
File “/home/fp/feedback/pytorch_feedback-network-master/network/feedbacknet.py”, line 75, in forward
b1,b2=x_i.split(1,0)
ValueError: need more than 1 value to unpack
}}}
here is my code in network forward
x_finished = []
mx_finished = []
for x_i in x_all:
x_i = F.relu(x_i)
x_i =self.avg_pool(x_i)
x_i=x_i.view(x.size()[0],-1)
x_i=self.output(x_i)
x_finished.append(x_i)
x_i=self.soft(x_i) ''now x_i is a 2x24 vector ''
b1,b2=x_i.split(1,0)
b1=b1*w "w is a constant tensor size 8X24 to help me transform the 1X24 to 1x8 "
b2=b2*w ’‘after b1=b1*w b1 from 1x24 to 8X24""
b1=torch.sum(b1,1) ""b1: 8x24 -> 8""
b1=b1.view(1,-1) ''b1 : 8 -> 1x8''
b2=torch.sum(b2,1)
b2=b2.view(1,-1)
x_i=torch.cat((b1,b2),0) ""get x_i 2x8 size''
mx_finished.append(x_i)
return x_finished,mx_finished
because my network is based on CONVLSTM so x_finished have four 2x24
mx_finished have four 2x8
I think my code logic is smooth, but I don’t know why I get an error