PyTorch 屌絲的PyTorch玩法

2022-02-09 12:16:04 字數 2262 閱讀 7559

使用prefetch_generator庫 在後台載入下一batch的資料,原本pytorch預設的dataloader會建立一些worker執行緒來預讀取新的資料,但是除非這些執行緒的資料全部都被清空,這些執行緒才會讀下一批資料。使用prefetch_generator,我們可以保證執行緒不會等待,每個執行緒都總有至少乙個資料在載入。

轉殖源**

git clone

安裝apex

cd apex

python setup.py install

最好開啟pycharm的終端進行安裝,這樣實在anaconda的環境裡安裝了

刪除剛剛clone下來的apex資料夾,然後重啟pycharm

【注意】安裝pytorch和cuda時注意版本對應,要按照正確流程安裝

測試安裝成功

from apex import amp
如果匯入不報錯說明安裝成功

from apex import amp  # 這個必須的,其他的導包省略了

train_dataset = mydataset("......")

train_loader = dataloader(dataset=train_dataset, batch_size=2, num_workers=4, shuffle=true)

model = mynet().to(device) # 建立模型

criterion = nn.mseloss() # 定義損失函式

optimizer = optim.adam(net.parameters(), lr=learning_rate, weight_decay=0.00001) # 優化器

net, optimizer = amp.initialize(net, optimizer, opt_level="o1") # 這一步很重要

# 學習率衰減

scheduler = optim.lr_scheduler.reducelronplateau(

optimizer=optimizer, mode="min",factor=0.1, patience=3,

verbose=false,cooldown=0, min_lr=0.0, eps=1e-7)

for epoch in range(epochs):

net.train() # 訓練模式

train_loss_epoch = # 記錄乙個epoch內的訓練集每個batch的loss

test_loss_epoch = # 記錄乙個epoch內測試集的每個batch的loss

for i, data in enumerate(train_loader):

# forward

x, y = data

x = x.to(device)

y = y.to(device)

outputs = net(x)

# backward

optimizer.zero_grad()

loss = criterion(outputs, labels)

# 這一步也很重要

with amp.scale_loss(loss, optimizer) as scaled_loss:

scaled_loss.backward()

# 更新權重

optimizer.step()

scheduler.step(1) # 更新學習率。每1步更新一次

考察amp.initialize(net, optimizer, opt_level="o1")opt_level引數

一般我們用o1級別就行,最多o2,注意,是不是

屌絲的特徵

屌絲一般都是農村家庭或城市底層小市民家庭出身,有的十二載寒窗考上大學,攻讀理科專業,或失敗而轉向文科等真正工作後,卻發現沒有獲得理想的效果,投入與產出不成比例,很是得不償失 有的初中輟學,進城務工,或成了髮廊師傅,或成了網咖網管,在城市的繁華之中分得一杯苦羹 或是無業遊民,但是自己一般不願承認,網上...

屌絲的出路

屌絲的出路 婚禮端午節,我最好的乙個朋友,也就是常說的死黨,結婚了。我從深圳專程飛回西安參加他的婚禮。雖然比不上開著跑車的富二代,但朋友家庭條件也算不錯,婚禮舉辦得很隆重 花車,寶馬760li 迎親車隊,30輛黑色奧迪a6 當然,朋友自己的蒙迪歐今天就閒在車庫裡了。婚房,高檔社群,精裝修,180平,...

屌絲的出路

婚禮 端午節,我最好的乙個朋友,也就是常說的死黨,結婚了。我從深圳專程飛回西安參加他的婚禮。雖然比不上開著跑車的富二代,但朋友家庭條件也算不錯,婚禮舉辦得很隆重 花車,寶馬760li 迎親車隊,30輛黑色奧迪a6 當然,朋友自己的蒙迪歐今天就閒在車庫裡了。婚房,高檔社群,精裝修,180平,四房兩廳。...