RuntimeError: size mismatch m1: [a x b], m2: [c x d]

前端 未结 2 2067
独厮守ぢ
独厮守ぢ 2020-12-11 03:14

Can anyone help me in this.? I am getting below error. I use Google Colab. How to Solve this error.?

size mismatch, m1: [64 x 100], m2: [784 x 128] at

相关标签:
2条回答
  • 2020-12-11 03:46

    You have a size mismatch!
    Your first layer of model expects a 784-dim input (I assume you got this value by 28x28=784, the size of mnist digits).
    However, your trainset applies transforms.CenterCrop(10) - that is it crops a 10x10 region from the center of the image, and thus your input dimension is actually 100.

    To summaries:
    - Your first layer: nn.Linear(784, 128) expects a 784-dim input and outouts a 128-dim hidden feature vector (per input). This layer's weight matrix is thus [784 x 128] ("m2" in your error message).
    - Your input is center cropped to 10x10 pixels (total 100-dim), and you have batch_size=64 such images at each batch, total [64 x 100] input size ("m1" in your error message).
    - You cannot compute a dot-product between matrices with mismatch sizes: 100 != 784, therefore pytorch gives you an error.

    0 讨论(0)
  • 2020-12-11 04:05

    All you have to care is b=c and you are done:

    m1: [a x b], m2: [c x d]
    

    m1 is [a x b] which is [batch size x in features]

    m2 is [c x d] which is [in features x out features]

    0 讨论(0)
提交回复
热议问题