生活随笔
收集整理的這篇文章主要介紹了
PyTorch深度学习实践02
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
02 lnear model
問題:AttributeError: module ‘matplotlib’ has no attribute ‘plot’
原因:導入包時候是這樣寫的
import matplotlib as plt
應該改成
import matplotlib.pyplot as plt
課件代碼:函數(shù)forward()中,有一個變量w。這個變量最終的值是從for循環(huán)中傳入的。for循環(huán)中,使用了np.arrange。
range和np.arrange的區(qū)別
https://blog.csdn.net/yuanxiang01/article/details/78702123
range步長不能是小數(shù),np.arrange可以是
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*wdef loss
(x,y
):y_pre
=forward
(x
)return (y_pre-y
)*
(y_pre-y
)'''
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包為元組的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素個數(shù)與最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 與 zip 相反,*zipped 可理解為解壓,返回二維矩陣式
[(1, 2, 3), (4, 5, 6)]zip 可以把y=f(x) x和y對應起來是一組值
'''
w_list
=[]
mse
=[]
for w
in np.arange
(0.0,4.1,0.1
):print
('w=',w
)l_sum
=0
for x_val,y_val
in zip
(x_data,y_data
):y_pre_val
=forward
(x_val
)loss_val
=loss
(x_val,y_val
)l_sum+
=loss_valprint
('\t',x_val,y_val,y_pre_val,loss_val
)print
('MSE=',l_sum/3
)w_list.append
(w
)mse.append
(l_sum/3
)plt.plot
(w_list, mse
)
plt.ylabel
('Loss')
plt.xlabel
('w')
plt.show
()'''
F:\anaconda\envs\pytorch\python.exe F:/pythonProject1/pytorch_liu/test.py
w= 0.01.0 2.0 0.0 4.02.0 4.0 0.0 16.03.0 6.0 0.0 36.0
MSE= 18.666666666666668
w= 0.11.0 2.0 0.1 3.612.0 4.0 0.2 14.443.0 6.0 0.30000000000000004 32.49
MSE= 16.846666666666668
w= 0.21.0 2.0 0.2 3.242.0 4.0 0.4 12.963.0 6.0 0.6000000000000001 29.160000000000004
MSE= 15.120000000000003
w= 0.300000000000000041.0 2.0 0.30000000000000004 2.88999999999999972.0 4.0 0.6000000000000001 11.5599999999999993.0 6.0 0.9000000000000001 26.009999999999998
MSE= 13.486666666666665
w= 0.41.0 2.0 0.4 2.56000000000000052.0 4.0 0.8 10.2400000000000023.0 6.0 1.2000000000000002 23.04
MSE= 11.946666666666667
w= 0.51.0 2.0 0.5 2.252.0 4.0 1.0 9.03.0 6.0 1.5 20.25
MSE= 10.5
w= 0.60000000000000011.0 2.0 0.6000000000000001 1.95999999999999972.0 4.0 1.2000000000000002 7.8399999999999993.0 6.0 1.8000000000000003 17.639999999999993
MSE= 9.146666666666663
w= 0.70000000000000011.0 2.0 0.7000000000000001 1.68999999999999952.0 4.0 1.4000000000000001 6.7599999999999983.0 6.0 2.1 15.209999999999999
MSE= 7.886666666666666
w= 0.81.0 2.0 0.8 1.442.0 4.0 1.6 5.763.0 6.0 2.4000000000000004 12.959999999999997
MSE= 6.719999999999999
w= 0.91.0 2.0 0.9 1.21000000000000022.0 4.0 1.8 4.8400000000000013.0 6.0 2.7 10.889999999999999
MSE= 5.646666666666666
w= 1.01.0 2.0 1.0 1.02.0 4.0 2.0 4.03.0 6.0 3.0 9.0
MSE= 4.666666666666667
w= 1.11.0 2.0 1.1 0.80999999999999982.0 4.0 2.2 3.23999999999999933.0 6.0 3.3000000000000003 7.289999999999998
MSE= 3.779999999999999
w= 1.20000000000000021.0 2.0 1.2000000000000002 0.63999999999999972.0 4.0 2.4000000000000004 2.55999999999999873.0 6.0 3.6000000000000005 5.759999999999997
MSE= 2.986666666666665
w= 1.31.0 2.0 1.3 0.489999999999999942.0 4.0 2.6 1.95999999999999973.0 6.0 3.9000000000000004 4.409999999999998
MSE= 2.2866666666666657
w= 1.40000000000000011.0 2.0 1.4000000000000001 0.35999999999999982.0 4.0 2.8000000000000003 1.43999999999999933.0 6.0 4.2 3.2399999999999993
MSE= 1.6799999999999995
w= 1.51.0 2.0 1.5 0.252.0 4.0 3.0 1.03.0 6.0 4.5 2.25
MSE= 1.1666666666666667
w= 1.61.0 2.0 1.6 0.159999999999999922.0 4.0 3.2 0.63999999999999973.0 6.0 4.800000000000001 1.4399999999999984
MSE= 0.746666666666666
w= 1.70000000000000021.0 2.0 1.7000000000000002 0.08999999999999992.0 4.0 3.4000000000000004 0.35999999999999963.0 6.0 5.1000000000000005 0.809999999999999
MSE= 0.4199999999999995
w= 1.81.0 2.0 1.8 0.039999999999999982.0 4.0 3.6 0.159999999999999923.0 6.0 5.4 0.3599999999999996
MSE= 0.1866666666666665
w= 1.90000000000000011.0 2.0 1.9000000000000001 0.0099999999999999742.0 4.0 3.8000000000000003 0.03999999999999993.0 6.0 5.7 0.0899999999999999
MSE= 0.046666666666666586
w= 2.01.0 2.0 2.0 0.02.0 4.0 4.0 0.03.0 6.0 6.0 0.0
MSE= 0.0
w= 2.11.0 2.0 2.1 0.0100000000000000182.0 4.0 4.2 0.040000000000000073.0 6.0 6.300000000000001 0.09000000000000043
MSE= 0.046666666666666835
w= 2.21.0 2.0 2.2 0.040000000000000072.0 4.0 4.4 0.160000000000000283.0 6.0 6.6000000000000005 0.36000000000000065
MSE= 0.18666666666666698
w= 2.30000000000000031.0 2.0 2.3000000000000003 0.090000000000000162.0 4.0 4.6000000000000005 0.360000000000000653.0 6.0 6.9 0.8100000000000006
MSE= 0.42000000000000054
w= 2.40000000000000041.0 2.0 2.4000000000000004 0.160000000000000282.0 4.0 4.800000000000001 0.64000000000000113.0 6.0 7.200000000000001 1.4400000000000026
MSE= 0.7466666666666679
w= 2.51.0 2.0 2.5 0.252.0 4.0 5.0 1.03.0 6.0 7.5 2.25
MSE= 1.1666666666666667
w= 2.61.0 2.0 2.6 0.36000000000000012.0 4.0 5.2 1.44000000000000043.0 6.0 7.800000000000001 3.2400000000000024
MSE= 1.6800000000000008
w= 2.71.0 2.0 2.7 0.490000000000000272.0 4.0 5.4 1.9600000000000013.0 6.0 8.100000000000001 4.410000000000006
MSE= 2.2866666666666693
w= 2.80000000000000031.0 2.0 2.8000000000000003 0.64000000000000052.0 4.0 5.6000000000000005 2.5600000000000023.0 6.0 8.4 5.760000000000002
MSE= 2.986666666666668
w= 2.90000000000000041.0 2.0 2.9000000000000004 0.81000000000000062.0 4.0 5.800000000000001 3.24000000000000243.0 6.0 8.700000000000001 7.290000000000005
MSE= 3.780000000000003
w= 3.01.0 2.0 3.0 1.02.0 4.0 6.0 4.03.0 6.0 9.0 9.0
MSE= 4.666666666666667
w= 3.11.0 2.0 3.1 1.21000000000000022.0 4.0 6.2 4.8400000000000013.0 6.0 9.3 10.890000000000004
MSE= 5.646666666666668
w= 3.21.0 2.0 3.2 1.44000000000000042.0 4.0 6.4 5.7600000000000023.0 6.0 9.600000000000001 12.96000000000001
MSE= 6.720000000000003
w= 3.30000000000000031.0 2.0 3.3000000000000003 1.69000000000000062.0 4.0 6.6000000000000005 6.76000000000000253.0 6.0 9.9 15.210000000000003
MSE= 7.886666666666668
w= 3.40000000000000041.0 2.0 3.4000000000000004 1.9600000000000012.0 4.0 6.800000000000001 7.8400000000000043.0 6.0 10.200000000000001 17.640000000000008
MSE= 9.14666666666667
w= 3.51.0 2.0 3.5 2.252.0 4.0 7.0 9.03.0 6.0 10.5 20.25
MSE= 10.5
w= 3.61.0 2.0 3.6 2.56000000000000052.0 4.0 7.2 10.2400000000000023.0 6.0 10.8 23.040000000000006
MSE= 11.94666666666667
w= 3.71.0 2.0 3.7 2.89000000000000062.0 4.0 7.4 11.5600000000000023.0 6.0 11.100000000000001 26.010000000000016
MSE= 13.486666666666673
w= 3.80000000000000031.0 2.0 3.8000000000000003 3.2400000000000012.0 4.0 7.6000000000000005 12.9600000000000043.0 6.0 11.4 29.160000000000004
MSE= 15.120000000000005
w= 3.90000000000000041.0 2.0 3.9000000000000004 3.6100000000000012.0 4.0 7.800000000000001 14.4400000000000053.0 6.0 11.700000000000001 32.49000000000001
MSE= 16.84666666666667
w= 4.01.0 2.0 4.0 4.02.0 4.0 8.0 16.03.0 6.0 12.0 36.0
MSE= 18.666666666666668Process finished with exit code 0'''
作業(yè):
3d畫圖
https://blog.csdn.net/u014636245/article/details/82799573
numpy.linspace使用詳解:
https://blog.csdn.net/u014636245/article/details/82799573
https://blog.csdn.net/guduruyu/article/details/78050268
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
在指定的間隔內(nèi)返回均勻間隔的數(shù)字。
返回num均勻分布的樣本,在[start, stop]。
這個區(qū)間的端點可以任意的被排除在外。
import numpy as np
import matplotlib.pyplot as pltx
= np.array
([0, 1, 2
])
y
= np.array
([0, 1
])X, Y
= np.meshgrid
(x, y
)
print
(X
)
print
(Y
)plt.plot
(X, Y,color
='red', marker
='.', linestyle
='')
plt.grid
(True
)
plt.show
()'''
# 從輸出的結(jié)果來看,兩種方法生成的坐標矩陣一毛一樣。
[[0 1 2][0 1 2]]
[[0 0 0][1 1 1]]'''
3D表面形狀的繪制例子
from mpl_toolkits.mplot3d
import Axes3D
import matplotlib.pyplot as plt
import numpy as npfig
= plt.figure
()
ax
= fig.add_subplot
(111, projection
='3d')
u
= np.linspace
(0, 2 * np.pi, 100
)
v = np.linspace
(0, np.pi, 100
)
x
= 10 * np.outer
(np.cos
(u
), np.sin
(v
))
y
= 10 * np.outer
(np.sin
(u
), np.sin
(v
))
z
= 10 * np.outer
(np.ones
(np.size
(u
)), np.cos
(v
))
ax.plot_surface
(x, y, z, color
='b')plt.show
()
from mpl_toolkits.mplot3d
import Axes3D
import matplotlib.pyplot as plt
import numpy as npplt.show
()
x_data
=[1.0,2.0,3.0
]
y_data
=[5.0,8.0,11.0
]def forward
(x
):
return x*w+bdef loss
(x,y
):y_pre
=forward
(x
)return (y_pre-y
)*
(y_pre-y
)w
=np.arange
(0.0,4.1,0.1
)
b
=np.arange
(0.0,4.1,0.1
)
[w,b
]=np.meshgrid
(w,b
)
mse
=[]l_sum
=0
for x_val,y_val
in zip
(x_data,y_data
):y_pre_val
=forward
(x_val
)loss_val
=loss
(x_val,y_val
)l_sum+
=loss_valprint
('\t',x_val,y_val,y_pre_val,loss_val
)
print
('MSE=',l_sum/3
)
mse.append
(l_sum/3
)fig
=plt.figure
()
ax
=Axes3D
(fig
)
ax.plot_surface
(w,b,l_sum/3
)
plt.show
()
np.meshgrid()的用法
import numpy as np
a
= np.array
([1,2,3
])
b
= np.array
([7,8
])
res
= np.meshgrid
(a,b
)
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生
總結(jié)
以上是生活随笔為你收集整理的PyTorch深度学习实践02的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。