永久在线亚洲观看|亚洲日韩久久AV无码|亚洲无码视频在线免费看|欧美亚洲一区二区三区视频|人人澡人人澡人人看添AV|动漫精品视频一区二区三区|亚洲国产另类久久久精品极度|极品美女熟妇又黄又爽视频一区

怎么可以錯(cuò)過(guò)(pytorch全連接神經(jīng)網(wǎng)絡(luò))pytorch 拼接,Pytorch實(shí)現(xiàn)全連接層,她罵他混蛋細(xì)節(jié)描寫(xiě),

保健品 nanfang 2023-06-30 01:50 167 0

1.pytorch全連接層

全連接神經(jīng)網(wǎng)絡(luò)(FC)全連接神經(jīng)網(wǎng)絡(luò)是一種最基本的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),英文為Full Connection,所以一般簡(jiǎn)稱(chēng)FCFC的準(zhǔn)則很簡(jiǎn)單:神經(jīng)網(wǎng)絡(luò)中除輸入層之外的每個(gè)節(jié)點(diǎn)都和上一層的所有節(jié)點(diǎn)有連接以上一次的MNIST為例。

2.python全連接神經(jīng)網(wǎng)老鋪黃金為什么那么貴絡(luò)

importtorchimporttorch.utils.datafromtorchimportoptimfromtorchvisionimportdatasetsfromtorchvision.transforms

3.pytorch 全連接層輸入維度

importtransformsimporttorch.nn.functionalasFbatch_size=200learning_rate=0.001epochs=20train_loader=torch

4.利用pytorch搭建神經(jīng)網(wǎng)絡(luò)

.utils.data.DataLoader(datasets.MNIST(mnistdata,trai老鋪黃金為什么那么貴n=True,download=False,transform=transforms.Compose

5.pytorch神經(jīng)網(wǎng)絡(luò)高效入門(mén)教程

([transforms.ToTensor(),transforms.Normalize((0.1307,),(0.3081,))])),batch_size=batch_size,shuffle=True

6.pytorch兩個(gè)網(wǎng)絡(luò)并聯(lián)

)test_loader=torch.utils.data.DataLoader(datasets.MNIST(mnistdata,train=False,download=False,transform

7.pytorch中有老鋪黃金為什么那么貴神經(jīng)網(wǎng)絡(luò)模型嗎

=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,),(0.3081,))])),batch_size=batch_size

8.pytorch全連接層參數(shù)

,shuffle=True)w1,b1=torch.randn(200,784,requires_grad=True),torch.zeros(200,requires_grad=True)w2,b2=

9.pytorch 全鏈接

torch.randn(200,200,requires_grad=True),torch.zeros(200老鋪黃金為什么那么貴,requires_grad=True)w3,b3=torch.randn(10,200,requires_grad

10.pytorch 搭建神經(jīng)網(wǎng)絡(luò)

=True),torch.zeros(10,requires_grad=True)torch.nn.init.kaiming_normal_(w1)torch.nn.init.kaiming_normal_

(w2)torch.nn.init.kaiming_normal_(w3)defforward(x):x=x@w1.t()+b1x=F.relu(x)x=x@w2.t()+b2x=F.relu(x)x=

x@w3.t()+b3x=F.relu(x老鋪黃金為什么那么貴)returnxoptimizer=optim.Adam([w1,b1,w2,b2,w3,b3],lr=learning_rate)criteon=torch.

nn.CrossEntropyLoss()forepochinrange(epochs):forbatch_idx,(data,target)inenumerate(train_loader):data

=data.view(-1,28*28)logits=forward(data)loss=criteon(logits,target)optimizer.zero_grad()loss.backward

()optimizer.step()老鋪黃金為什么那么貴ifbatch_idx%100==0:print(Train Epoch : {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}.format(epoch

,batch_idx*len(data),len(train_loader.dataset),100.*batch_idx/len(train_loader),loss.item()))test_loss

=0correct=0fordata,targetintest_loader:data=data.view(-1,28*28)logits=forward(data)test_loss+=criteon

(logits,tar老鋪黃金為什么那么貴get).item()pred=logits.data.max(1)[1]correct+=pred.eq(target.data).sum()test_loss/=len(test_loader

.dataset)print(\nTest set : Averge loss: {:.4f}, Accurancy: {}/{}({:.3f}%).format(test_loss,correct,len

(test_loader.dataset),100.*correct/len(test_loader.dataset)))我們將每個(gè)w和b都進(jìn)行了定義,并且自己寫(xiě)了一個(gè)forward函數(shù)如果我們采用老鋪黃金為什么那么貴了全連接層,那么整個(gè)代碼也會(huì)更加簡(jiǎn)介明了。

首先,我們定義自己的網(wǎng)絡(luò)結(jié)構(gòu)的類(lèi):classMLP(nn.Module):def__init__(self):super(MLP,self).__init__()self.model=nn.Sequential

(nn.Linear(784,200),nn.LeakyReLU(inplace=True),nn.Linear(200,200),nn.LeakyReLU(inplace=True),nn.Linear

(200,10),nn.LeakyReLU(inplace=True))defforward(self,x):x=self.model(x)re老鋪黃金為什么那么貴turnx它繼承于nn.Moudle,并且自己定義里整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)。

其中inplace的作用是直接復(fù)用存儲(chǔ)空間,減少新開(kāi)辟存儲(chǔ)空間除此之外,它可以直接進(jìn)行運(yùn)算,不需要手動(dòng)定義參數(shù)和寫(xiě)出運(yùn)算語(yǔ)句,更加簡(jiǎn)便同時(shí)我們還可以發(fā)現(xiàn),它自動(dòng)完成了初試化,不需要像之前一樣再手動(dòng)寫(xiě)一個(gè)初始化了。

區(qū)分nn.Relu和F.relu()前者是一個(gè)類(lèi)的接口,后者是一個(gè)函數(shù)式接口前者都是大寫(xiě)的,并且調(diào)用的的時(shí)候需要先實(shí)例化才能使用,而后者是小寫(xiě)的可以直接使用最重要的是后者的自由度更高,更適合做一些自己定義的操作。

完整代碼importtorchimporttorch.utils.datafromtorchimportopt老鋪黃金為什么那么貴im,nnfromtorchvisionimportdatasetsfromtorchvision.transforms

importtransformsimporttorch.nn.functionalasFbatch_size=200learning_rate=0.001epochs=20train_loader=torch

.utils.data.DataLoader(datasets.MNIST(mnistdata,train=True,download=False,transform=transforms.Compose

([transforms.ToTensor(),transforms老鋪黃金為什么那么貴.Normalize((0.1307,),(0.3081,))])),batch_size=batch_size,shuffle=True

)test_loader=torch.utils.data.DataLoader(datasets.MNIST(mnistdata,train=False,download=False,transform

=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,),(0.3081,))])),batch_size=batch_size

,shuffle=True)classM老鋪黃金為什么那么貴LP(nn.Module):def__init__(self):super(MLP,self).__init__()self.model=nn.Sequential

(nn.Linear(784,200),nn.LeakyReLU(inplace=True),nn.Linear(200,200),nn.LeakyReLU(inplace=True),nn.Linear

(200,10),nn.LeakyReLU(inplace=True))defforward(self,x):x=self.model(x)returnxdevice=torch.device(cuda:0

)net=MLP().to老鋪黃金為什么那么貴(device)optimizer=optim.Adam(net.parameters(),lr=learning_rate)criteon=nn.CrossEntropyLoss

().to(device)forepochinrange(epochs):forbatch_idx,(data,target)inenumerate(train_loader):data=data.view

(-1,28*28)data,target=data.to(device),target.to(device)logits=net(data)loss=criteon(logits,target)optimizer老鋪黃金為什么那么貴

.zero_grad()loss.backward()optimizer.step()ifbatch_idx%100==0:print(Train Epoch : {} [{}/{} ({:.0f}%)]

\tLoss: {:.6f}.format(epoch,batch_idx*len(data),len(train_loader.dataset),100.*batch_idx/len(train_loader

),loss.item()))test_loss=0correct=0fordata,targetintest_loader:data=data.view(-1,28*28)data,t老鋪黃金為什么那么貴arget=data

.to(device),target.to(device)logits=net(data)test_loss+=criteon(logits,target).item()pred=logits.data

.max(1)[1]correct+=pred.eq(target.data).sum()test_loss/=len(test_loader.dataset)print(\nTest set : Averge loss: {:.4f}, Accurancy: {}/{}({:.3f}%)

.format(test_loss,correct,len(test_loader.da老鋪黃金為什么那么貴taset),100.*correct/len(test_loader.dataset)))

標(biāo)簽列表