PyTorch深度學習模型的儲存和載入流程詳解

2022-09-24 23:18:14 字數 1420 閱讀 9319

import torch

import torch.nn as nn

程式設計客棧class net(nn.module):

def __init__(self):

super(net, self).__init__()

self.conv1 = nn.conv2d(1, 2, 3)

www.cppcns.comself.pool1 = nn.maxpool2d(2, 2)

def for x):

x = self.conv1(x)

x = self.pool1(x)

return x

# 初始化網路

net = net()

net.conv1.weight[0].detach().fill_(1)

net.conv1.weight[1].detach().fill_(2)

net.conv1.bias.data.detach().zero_()

# 獲取state_dict

state_dict = net.state_dict()

# 字典的遍歷預設是遍歷key,所以param_tensor實際上是鍵值

for param_tensor in state_dict:

print(param_tensor,':\n',state_dict[param_tensor])

# 儲存模型引數

torch.s**e(state_dict,"net_params.pth")

# 通重載入state_dict獲取模型引數

net.load_state_dict(state_dict)

二、完整模型的儲存和載入

import torch

import torch.nn as nn

class net(nn.module):

def __init__(self):

super(net, self).__init__()

self.conv1 = nn.conv2d(1, 2, 3)

self.pool1 = nn.maxpool2d(2, 2)

def forward(self, x):

x = self.conv1(x)

x = self.pool1(x)

return x

# 初始化網路

net = net()

net.conv1.weight[0].detach().fill_(1)

net.conv1.weight[1].detach().fill_(2)

net.conv1.bias.data.detach().zero_()

# 儲存整個網路

torch.s**e(net,"net.pth")

# 載入網路

net = torch.load("net.pth")

Pytorch深度學習實踐 線性模型

在看劉二大人的pytorch教程,寫個筆記記錄一下,如果有什麼問題歡迎一起 呀 傳送門 劉二大人的pytorch深度學習實踐 線性模型 首先是線性模型的定義 給定由d個屬性描述對的示例x x x x 其中 是第i個屬性上的取值,線性模型試圖學得乙個通過屬性的線性組合來進行 的函式,即 轉換成向量形式...

pytorch 深度學習

pytorch深度學習實踐 訓練集 開發集 模型評估 測試集。f x wx b f x wx b f x w x bloss 乙個樣本 cost mean square error training set 區域性最優,不一定全域性最優。鞍點 梯度為0,但無法繼續迭代。w w c ost ww w ...

Pytorch深度學習實踐(二) 線性模型

import numpy as np import matplotlib.pyplot as plt x data 1.0 2.0 3.0 y data 2.0 4.0 6.0 def forward x return x w defloss x,y y pred forward x return ...