snakeztc / NeuralDialog-ZSDG

PyTorch codebase for zero-shot dialog generation SIGDIAL 2018, It is released by Tiancheng Zhao (Tony) from Dialog Research Center, LTI, CMU
https://www.cs.cmu.edu/~tianchez
Apache License 2.0
133 stars 27 forks source link

View size is not compatible with input tensor's size when --use_ptr is True #1

Closed KaixiangLin closed 6 years ago

KaixiangLin commented 6 years ago
ZeroShotPtrHRED (
  (embedding): Embedding(1899, 200, padding_idx=0), parameters=379800
  (utt_encoder): RnnUttEncoder(
    (embedding): Embedding(1899, 200, padding_idx=0)
    (rnn): EncoderRNN(
      (input_dropout): Dropout(p=0.0)
      (rnn): GRU(201, 256, batch_first=True, dropout=0.3, bidirectional=True)
    )
  ), parameters=1084824
  (ctx_encoder): EncoderRNN(
    (input_dropout): Dropout(p=0.0)
    (rnn): LSTM(512, 512, batch_first=True, dropout=0.3)
  ), parameters=2101248
  (policy): Linear(in_features=512, out_features=512, bias=True), parameters=262656
  (connector): LinearConnector(
    (linear_h): Linear(in_features=512, out_features=512, bias=True)
    (linear_c): Linear(in_features=512, out_features=512, bias=True)
  ), parameters=525312
  (decoder): DecoderPointerGen(
    (input_dropout): Dropout(p=0.3)
    (rnn): LSTM(200, 512, batch_first=True, dropout=0.3)
    (embedding): Embedding(1899, 200, padding_idx=0)
    (attention): Attention(
      (linear_out): Linear(in_features=1024, out_features=512, bias=True)
      (dec_w): Linear(in_features=512, out_features=512, bias=True)
      (attn_w): Linear(in_features=512, out_features=512, bias=True)
      (query_w): Linear(in_features=512, out_features=1, bias=True)
    )
    (project): Linear(in_features=512, out_features=1899, bias=True)
  ), parameters=3867396
  (nll_loss): NLLEntropy(), parameters=0
  (l2_loss): L2Loss(), parameters=0
) Total Parameters=8221236
**** Training Begins ****
**** Epoch 0/50 ****
Number of left over sample 16
Train begins with 238 batches
Train add with 22 warm up batches
Traceback (most recent call last):
  File "stanford-zsdg.py", line 161, in <module>
    main(config)
  File "stanford-zsdg.py", line 142, in main
    train(model, train_feed, valid_feed, test_feed, config, evaluator, gen=hred_utils.generate)
  File "/NeuralDialog-ZSDG/zsdg/main.py", line 105, in train
    loss = model(batch, mode=TEACH_FORCE)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/NeuralDialog-ZSDG/zsdg/models/models.py", line 499, in forward
    mode=mode, gen_type=gen_type)
  File "/usr/local/lib/python2.7/dist-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/NeuralDialog-ZSDG/zsdg/enc2dec/decoders.py", line 443, in forward
    decoder_input, decoder_hidden, attn_context, attn_words, ctx_embed)
  File "/NeuralDialog-ZSDG/zsdg/enc2dec/decoders.py", line 362, in forward_step
    rnn_softmax = F.softmax(self.project(output.view(-1, self.hidden_size)), dim=1)
RuntimeError: invalid argument 2: View size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Call .contiguous() before .view(). at /pytorch/aten/src/THC/generic/THCTensor.c:276
$ python -c "import torch; print torch.__version__"
0.4.0
$ python 
Python 2.7.12
snakeztc commented 6 years ago

Thanks for the report. I will look into that soon.

snakeztc commented 6 years ago

I try on pytorch = 0.3.0.post4 and cannot reproduce the error. It could be cause by pytorch 0.4.0?

KaixiangLin commented 6 years ago

It's caused by pytorch 0.4.0

seharanul17 commented 6 years ago

I got same error... with pytorch 0.4.1