中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

桂陽(yáng)網(wǎng)站建設(shè)津seo快速排名

桂陽(yáng)網(wǎng)站建設(shè),津seo快速排名,哈爾濱網(wǎng)站設(shè)計(jì)哪家好,個(gè)人交互式網(wǎng)站備案優(yōu)化器 官網(wǎng)如何構(gòu)造一個(gè)優(yōu)化器優(yōu)化器的step方法coderunning log出現(xiàn)下面問(wèn)題如何做反向優(yōu)化? 官網(wǎng) https://pytorch.org/docs/stable/optim.html 提問(wèn):優(yōu)化器是什么 要優(yōu)化什么 優(yōu)化能干什么 優(yōu)化是為了解決什么問(wèn)題 優(yōu)化模型參數(shù) 如何構(gòu)造一個(gè)優(yōu)化器…

優(yōu)化器

  • 官網(wǎng)
  • 如何構(gòu)造一個(gè)優(yōu)化器
  • 優(yōu)化器的step方法
  • code
  • running log
    • 出現(xiàn)下面問(wèn)題如何做反向優(yōu)化?

官網(wǎng)

https://pytorch.org/docs/stable/optim.html

在這里插入圖片描述
提問(wèn):優(yōu)化器是什么 要優(yōu)化什么 優(yōu)化能干什么 優(yōu)化是為了解決什么問(wèn)題
優(yōu)化模型參數(shù)

如何構(gòu)造一個(gè)優(yōu)化器

optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9)  # momentum SGD優(yōu)化算法用到的參數(shù)
optimizer = optim.Adam([var1, var2], lr=0.0001)
  1. 選擇一個(gè)優(yōu)化器算法,如上 SGD 或者 Adam
  2. 第一個(gè)參數(shù) 需要傳入模型參數(shù)
  3. 第二個(gè)及后面的參數(shù)是優(yōu)化器算法特定需要的,lr 學(xué)習(xí)率基本每個(gè)優(yōu)化器算法都會(huì)用到

優(yōu)化器的step方法

會(huì)利用模型的梯度,根據(jù)梯度每一輪更新參數(shù)
optimizer.zero_grad() # 必須做 把上一輪計(jì)算的梯度清零,否則模型會(huì)有問(wèn)題

for input, target in dataset:optimizer.zero_grad()  # 必須做 把上一輪計(jì)算的梯度清零,否則模型會(huì)有問(wèn)題output = model(input)loss = loss_fn(output, target)loss.backward()optimizer.step()

or 把模型梯度包裝成方法再調(diào)用

for input, target in dataset:def closure():optimizer.zero_grad()output = model(input)loss = loss_fn(output, target)loss.backward()return lossoptimizer.step(closure)

code

import torch
import torchvision
from torch import nn, optim
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWritertest_set = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor(),download=True)dataloader = DataLoader(test_set, batch_size=1)class MySeq(nn.Module):def __init__(self):super(MySeq, self).__init__()self.model1 = Sequential(Conv2d(3, 32, kernel_size=5, stride=1, padding=2),MaxPool2d(2),Conv2d(32, 32, kernel_size=5, stride=1, padding=2),MaxPool2d(2),Conv2d(32, 64, kernel_size=5, stride=1, padding=2),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10))def forward(self, x):x = self.model1(x)return x# 定義loss
loss = nn.CrossEntropyLoss()
# 搭建網(wǎng)絡(luò)
myseq = MySeq()
print(myseq)
# 定義優(yōu)化器
optmizer = optim.SGD(myseq.parameters(), lr=0.001, momentum=0.9)
for epoch in range(20):running_loss = 0.0for data in dataloader:imgs, targets = data# print(imgs.shape)output = myseq(imgs)optmizer.zero_grad()  # 每輪訓(xùn)練將梯度初始化為0  上一次的梯度對(duì)本輪參數(shù)優(yōu)化沒(méi)有用result_loss = loss(output, targets)result_loss.backward()  # 優(yōu)化器需要每個(gè)參數(shù)的梯度, 所以要在backward() 之后執(zhí)行optmizer.step()  # 根據(jù)梯度對(duì)每個(gè)參數(shù)進(jìn)行調(diào)優(yōu)# print(result_loss)# print(result_loss.grad)# print("ok")running_loss += result_lossprint(running_loss)

running log

loss由小變大最后到nan的解決辦法:

  1. 降低學(xué)習(xí)率
  2. 使用正則化技術(shù)
  3. 增加訓(xùn)練數(shù)據(jù)
  4. 檢查網(wǎng)絡(luò)架構(gòu)和激活函數(shù)

出現(xiàn)下面問(wèn)題如何做反向優(yōu)化?

Files already downloaded and verified
MySeq((model1): Sequential((0): Conv2d(3, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))(1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))(3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(4): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))(5): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(6): Flatten(start_dim=1, end_dim=-1)(7): Linear(in_features=1024, out_features=64, bias=True)(8): Linear(in_features=64, out_features=10, bias=True))
)
tensor(18622.4551, grad_fn=<AddBackward0>)
tensor(16121.4092, grad_fn=<AddBackward0>)
tensor(15442.6416, grad_fn=<AddBackward0>)
tensor(16387.4531, grad_fn=<AddBackward0>)
tensor(18351.6152, grad_fn=<AddBackward0>)
tensor(20915.9785, grad_fn=<AddBackward0>)
tensor(23081.5254, grad_fn=<AddBackward0>)
tensor(24841.8359, grad_fn=<AddBackward0>)
tensor(25401.1602, grad_fn=<AddBackward0>)
tensor(26187.4961, grad_fn=<AddBackward0>)
tensor(28283.8633, grad_fn=<AddBackward0>)
tensor(30156.9316, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
tensor(nan, grad_fn=<AddBackward0>)
http://www.risenshineclean.com/news/51110.html

相關(guān)文章:

  • 大氣全屏通用企業(yè)網(wǎng)站整站源碼沈陽(yáng)seo優(yōu)化新勢(shì)力
  • 企業(yè)年金如何領(lǐng)取沈陽(yáng)網(wǎng)站關(guān)鍵詞優(yōu)化公司
  • 手機(jī)網(wǎng)站帶后臺(tái)源代碼免費(fèi)網(wǎng)站統(tǒng)計(jì)代碼
  • 網(wǎng)站建設(shè)設(shè)計(jì)制作培訓(xùn)百度下載并安裝到桌面
  • 用php做的網(wǎng)站有哪些最近營(yíng)銷熱點(diǎn)
  • 廣州做網(wǎng)站建設(shè)網(wǎng)站收錄優(yōu)化
  • 產(chǎn)品如何推廣濰坊百度seo公司
  • 建設(shè)企業(yè)查詢網(wǎng)站河北優(yōu)化seo
  • 網(wǎng)站建設(shè)北京公司軟件推廣平臺(tái)有哪些?哪個(gè)比較好
  • 做軟件賺錢的網(wǎng)站有哪些百度資源搜索平臺(tái)官網(wǎng)
  • 北京和田合瑞建設(shè)有限公司網(wǎng)站網(wǎng)店?duì)I銷與推廣策劃方案
  • 百度收錄最高發(fā)帖網(wǎng)站seo搜索方法
  • 網(wǎng)站搭建合同seo短視頻網(wǎng)頁(yè)入口引流網(wǎng)站
  • 網(wǎng)站推廣設(shè)計(jì)做哪些口碑營(yíng)銷的主要手段有哪些
  • 現(xiàn)在從事網(wǎng)站開(kāi)發(fā)如何網(wǎng)站優(yōu)化排名服務(wù)
  • 網(wǎng)站建設(shè)佰金手指科捷一ui設(shè)計(jì)
  • 甘肅網(wǎng)站建設(shè)seo策略什么意思
  • 網(wǎng)站關(guān)鍵詞重要嗎新手怎么學(xué)電商運(yùn)營(yíng)
  • reactjs 做的網(wǎng)站媒體公關(guān)
  • 萊蕪最好的網(wǎng)站建設(shè)公司網(wǎng)站注冊(cè)時(shí)間查詢
  • 運(yùn)維為什么沒(méi)人干濰坊seo關(guān)鍵詞排名
  • 購(gòu)物網(wǎng)站建設(shè)的原理谷歌外鏈
  • 廣州知名網(wǎng)站建設(shè)性價(jià)比高競(jìng)價(jià)推廣是做什么的
  • 服裝網(wǎng)站模板下載360指數(shù)在線查詢
  • 百度搜不到WordPress文章seo怎么讀
  • 排版好看的網(wǎng)站界面百度官網(wǎng)網(wǎng)站首頁(yè)
  • 用asp做網(wǎng)站怎么美觀百度一下你就知道百度首頁(yè)
  • 新注冊(cè)域名做網(wǎng)站好處河北百度seo點(diǎn)擊軟件
  • 帶后臺(tái)網(wǎng)站模板1688關(guān)鍵詞排名查詢
  • 北流網(wǎng)站建設(shè)網(wǎng)站搭建教程