根據b站莫煩python邊學邊打,只有自己打一遍才能發現容易發生好多錯誤啊
昨晚配置pytorch很順利!一遍就好了
環境 cuda10.0+python3.7+pytorch1.2.0(gpu 1660ti)
現在已經有了pytorch1.4.0(似乎tensor和variable的用法有了改變),但是我原來裝tensorflow的時候cuda裝的10.0,對應的好像是1.2.0;
應該是要注意它對應的版本不然會出錯吧!(我猜)
import torch
import numpy as np
import matplotlib.pyplot as plt
from torch.autograd import variable
import torch.nn.functional as f
x=torch.unsqueeze(torch.linspace(-1
,1,100
),dim=1)
#將一維資料變成二維
y=x.
pow(2)
+0.2
*torch.rand(x.size())
x,y=variable(x)
,variable(y)
#plt.scatter(x.data.numpy(),y.data.numpy())
#plt.show()
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)
defforward
(self,x)
:#將前向傳播
x=f.relu(self.hidden(x)
) x=self.predict(x)
return x
net=net(1,
10,1)
print
(net)
plt.ion(
)#視覺化,實時列印的過程
plt.show(
)optimizer = torch.optim.sgd(net.parameters(
),lr=
0.5)
loss_func= torch.nn.mseloss(
)for t in
range
(100):
prediction = net(x)
loss = loss_func(prediction,y)
optimizer.zero_grad(
)#把梯度降維0
loss.backward(
)#反向傳遞
optimizer.step(
)#用optimizer優化過程
if t%5==
0:plt.cla(
) plt.scatter(x.data.numpy(
),y.data.numpy())
plt.plot(x.data.numpy(
),prediction.data.numpy(),
'r-'
,lw=5)
plt.text(
0.5,0,
'loss=%.4f'
% loss.data,fontdict=
) plt.pause(
0.1)
plt.ioff(
)plt.show(
)
最後結果顯示
**手打的幾個坑 記錄如下:紙上得來終覺淺啊,還是要自己打一遍才能發現錯誤!
pytorch剛剛接觸的感覺比tf好一點,也可能是稍微有點tf的基礎。繼續加油!
生活碎碎念
工作後,總是會有各種各樣的場合介紹自己,姓名呀 愛好啦 哪的人呢 每每說到愛好,總是覺得不知道應該怎樣表達。我喜歡旅行,喜歡美食,喜歡做飯 中餐西餐各種料理,對牛排和義大利面情有獨鍾 我也喜歡運動啊,籃球足球羽毛球 當然啦,籃球足球只是圍觀,是科比和梅西的無腦粉絲 喜歡滑冰和滑雪 技術雖不高,但也算...
技術碎碎念
註冊過後還沒怎麼來過,這次面試在最後一輪失敗了,不可推卸的是自己沒把相關思考與想法記錄下來,好記性不如亂鼻頭。回來後發了會兒呆。想到今天召開大家開會的時候,有人提出策劃發現bug了不要馬上就跑過來了,打斷思緒,上個bug還沒解決就又帶入了混亂。剛開始想是不是要用個管理工具,比如禪道,來管理這些問題,...
今日碎碎念
先匯報一下今天的工作。早上看了 物流案例 的 物流系統評價 與 物流系統 兩章,收穫頗豐,待會會將所得所感一一記錄下來。中午12點準時出發,奔赴華工五山區參加廣東移動在14點舉行的筆試,感想多多,待會也一併記下來。下午5點半左右回到宿舍,開啟電腦,滿心希望flexsim系統可以正常執行,結果搗鼓了近...