莫煩pytorch學習筆記2

2022-05-26 18:18:10 字數 1814 閱讀 5973

類似numpy,pytorch就是在神經網路領域代替numpy的模組

神經網路在做什麼?

pytorch類似tensorflow使用tensor表示高維資訊

參考pytorch環境搭建

或者看pytorch官方文件

官網命令安裝了兩個東西

可以進行一些矩陣相關的運算

莫煩莫煩

激勵函式必須使可微分的,在反向傳播back propagation的時候,只有可微分的才可以把誤差傳遞回去

需要注意的是,如果隱藏層比較少,可以隨便選擇啟用函式,在隱藏層比較多的時候,需謹慎考慮,存在梯度**和梯度消失的問題

預設首選

學習資料:

幾種啟用函式影象

另外softmax是一種做出來是概率圖,不是線圖

關於影象可以看莫煩python教程關於matplotlib,numpy以及pandas的介紹

回歸:損失函式一般使用torch.nn.mseloss()

import torch

import matplotlib.pyplot as plt

x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)

y = x.pow(2) + 0.2*torch.rand(x.size()) # noisy y data (tensor), shape=(100, 1)

# 畫圖

plt.scatter(x.data.numpy(), y.data.numpy())

plt.show()

分類:損失函式一般使用torch.nn.crossentropyloss():比如類別[0,0,1] 計算出的概率[0.1,0.2,0.7]

主要直接採用torch.nn提供的類來搭建-->對比之前使用import torch.nn.functional as f之後使用一系列函式如relu()

使用import torch.nn.functional as f搭建

import torch

import torch.nn.functional as f

class net(torch.nn.module):

def __init__(self, n_feature, n_hidden, n_output):

super(net, self).__init__()

self.hidden = torch.nn.linear(n_feature, n_hidden)

self.predict = torch.nn,linear(n_hidden, n_output)

def forward(self, x):

x = f.relu(self.hidden(x))

x = self.predict(x)

return x

使用torch.nn提供的類搭建

import torch

net = torch.nn.sequential(

torch.nn.linear(2,10)

torch.nn.relu()

torch.nn.linear(10,2),

)

主要有兩種方式:

莫煩pytorch學習筆記

此處x,y為資料集的tensor torch dataset data.tensordataset data tensor x,target tensor y loader data.dataloader dataset torch dataset,batch size batch size,shu...

莫煩 pytorch筆記 variable是什麼

variable型別是什麼 variable tensor1 torch.floattensor 1,2 3,4 建立tensor variable variable tensor1,requires grad true 建立variable。其中requires grad是誤差反向傳播 計算梯度的...

莫煩pytorch批訓練

import torch import torch.utils.data as data 包裝資料類 tensordataset 包裝資料和目標張量的資料集,通過沿著第乙個維度索引兩個張量來 class torch.utils.data.tensordataset data tensor,targe...