第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 pytorch nn.module 中設(shè)置圖層的值?

如何在 pytorch nn.module 中設(shè)置圖層的值?

狐的傳說(shuō) 2022-10-18 16:06:52
我有一個(gè)模型,我正在嘗試使用它。我正在解決這些錯(cuò)誤,但現(xiàn)在我認(rèn)為它已經(jīng)歸結(jié)為我層中的值。我收到此錯(cuò)誤:RuntimeError: Given groups=1, weight of size 24 1 3 3, expected input[512, 50, 50, 3] to have 1 channels, but got 50 channels instead我的參數(shù)是:LR = 5e-2N_EPOCHS = 30BATCH_SIZE = 512DROPOUT = 0.5我的圖像信息是:depth=24channels=3original height = 1600original width = 1200resized to 50x50這是我的數(shù)據(jù)的大?。篢rain shape (743, 50, 50, 3) (743, 7)Test shape (186, 50, 50, 3) (186, 7)Train pixels 0 255 188.12228712427097 61.49539262385051Test pixels 0 255 189.35559211469533 60.688278787628775我在這里試圖了解每一層的期望值,但是當(dāng)我在這里輸入它所說(shuō)的內(nèi)容時(shí),https://towardsdatascience.com/pytorch-layer-dimensions-what-sizes-should-they-be-and-為什么-4265a41e01fd,它給了我關(guān)于錯(cuò)誤通道和內(nèi)核的錯(cuò)誤。我發(fā)現(xiàn) torch_summary 讓我對(duì)輸出有更多的了解,但它只會(huì)提出更多的問(wèn)題。這是我的 torch_summary 代碼:from torchvision import modelsfrom torchsummary import summaryimport torchimport torch.nn as nnclass CNN(nn.Module):    def __init__(self):        super(CNN, self).__init__()        self.conv1 = nn.Conv2d(1,24, kernel_size=5)  # output (n_examples, 16, 26, 26)        self.convnorm1 = nn.BatchNorm2d(24) # channels from prev layer        self.pool1 = nn.MaxPool2d((2, 2))  # output (n_examples, 16, 13, 13)        self.conv2 = nn.Conv2d(24,48,kernel_size=5)  # output (n_examples, 32, 11, 11)        self.convnorm2 = nn.BatchNorm2d(48) # 2*channels?        self.pool2 = nn.AvgPool2d((2, 2))  # output (n_examples, 32, 5, 5)        self.linear1 = nn.Linear(400,120)  # input will be flattened to (n_examples, 32 * 5 * 5)        self.linear1_bn = nn.BatchNorm1d(400) # features?        self.drop = nn.Dropout(DROPOUT)        self.linear2 = nn.Linear(400, 10)        self.act = torch.relu
查看完整描述

1 回答

?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊

看來(lái)您輸入x張量軸的順序錯(cuò)誤。
正如您在輸入中看到的,必須是doc Conv2d(N, C, H, W)

N是批量大小,C表示通道數(shù),H是以像素為單位的輸入平面的高度,以像素為單位W的寬度。

因此,為了正確使用torch.permute前傳中的交換軸。

...

def forward(self, x):

    x = x.permute(0, 3, 1, 2)

    ...

    ...

    return self.linear2(x)

...

示例permute:


t = torch.rand(512, 50, 50, 3)

t.size()

torch.Size([512, 50, 50, 3])


t = t.permute(0, 3, 1, 2)

t.size()

torch.Size([512, 3, 50, 50])


查看完整回答
反對(duì) 回復(fù) 2022-10-18
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)