日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

Tensorflow深度学习应用(进阶篇)

發(fā)布時(shí)間:2024/7/19 pytorch 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tensorflow深度学习应用(进阶篇) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#coding=gbk ''' 進(jìn)階篇相關(guān)數(shù)據(jù):標(biāo)簽:要預(yù)測(cè)的事物特征:用于描述數(shù)據(jù)的輸入變量樣本:數(shù)據(jù)的特定實(shí)例有標(biāo)簽的樣本:{特征,標(biāo)簽}無標(biāo)的樣本:{特征,...}模型:將樣本映射到預(yù)測(cè)標(biāo)簽,有內(nèi)部參數(shù)描述,參數(shù)通過學(xué)習(xí)而來。通過有標(biāo)簽的樣本來確定所以權(quán)重w和偏差b的最優(yōu)值。損失:是對(duì)糟糕預(yù)測(cè)的懲罰,損失是一個(gè)數(shù)值,表示對(duì)單個(gè)樣本而言模型的預(yù)測(cè)準(zhǔn)確度。定義損失函數(shù)L1損失:基于模型預(yù)測(cè)的值與標(biāo)簽的實(shí)際值之差的絕對(duì)值平方損失(L2損失)均方誤差(MSE):平均平方誤差收斂:總體損失不再變化或變化極其緩慢梯度:是一個(gè)向量,表示某一函數(shù)在該點(diǎn)處的方向?qū)?shù)最大,即該方向變化最快,變化率最大。f'(x)=dx/xy,沿著梯度的反方向能很快收斂。梯度下降法學(xué)習(xí)率:步長(zhǎng)設(shè)置要合理,才能很快收斂,不會(huì)出現(xiàn)左右震蕩現(xiàn)象。超參數(shù):指機(jī)器學(xué)習(xí)在訓(xùn)練之前需要設(shè)置的參數(shù),好的超參數(shù),可以提高學(xué)習(xí)效率和效果。如學(xué)習(xí)率隱含層層數(shù)等。擴(kuò)展篇 ''' #coding=gbkfrom pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] #設(shè)置繪圖顯示中文 mpl.rcParams['axes.unicode_minus'] = False #防止中文亂碼,有時(shí)候第一句不能完全避免顯示錯(cuò)誤#導(dǎo)入tensorflow 模塊 import tensorflow.compat.v1 as tf import matplotlib.pyplot as plt import numpy as np#回歸模型實(shí)踐 #擬合函數(shù)y=4.5x+3 #樣本數(shù)據(jù),有誤差 dx = np.linspace(-1, 1, 50)#等差數(shù)列 eps = np.random.randn(*dx.shape) * 0.4#*dx.shape表示吧x拆分為一個(gè)一維數(shù)組,randn參數(shù)為一個(gè)整數(shù)類型的值,而x.shape為一個(gè)元組 dy = 4.5 * dx + 3 + epsprint("dx=",dx) print("dy=", dy)#構(gòu)建模型X #定義x,y占位符 x = tf.placeholder("float32", name='x') y = tf.placeholder("float32", name='y')#模型,形參不是占位符變量 def model(a, b, c):return tf.multiply(a, b) + c#此處參數(shù)定義為形參#創(chuàng)建變量 w = tf.Variable(1.0, name='w') b = tf.Variable(0.0, name="b")#構(gòu)建預(yù)測(cè),調(diào)用預(yù)測(cè)模型需要用到占位的變量 pred = model(x, w, b)#迭代次數(shù) train_c = 15 #學(xué)習(xí)率Y learning_rate = 0.05#L2損失函數(shù)y,需要用到占位變量 loss_fun =tf.reduce_mean(tf.square(y - pred))#梯度下降優(yōu)化器 op = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_fun)sess=tf.Session() init = tf.global_variables_initializer() sess.run(init)fig = plt.figure() plt.subplots_adjust(wspace =0.2, hspace =0.4)#設(shè)置子圖間距離 ax = fig.add_subplot(221)list_loss = [] list_w = [] list_b = []for i in range(train_c):for x_, y_ in zip(dx, dy): #Zip將x,y一維數(shù)組組合成一個(gè)一維數(shù)組,每個(gè)元素為x,y對(duì)_, loss = sess.run([op, loss_fun], feed_dict={x: x_, y: y_}) #將取出來的x_,y_數(shù)據(jù)輸入到占位符X,Y中去#獲取w和b的值b0 = b.eval(session=sess)w0 = w.eval(session=sess)ax.plot(dx, w0 * dx + b0)#用于可視化損失值的變化list_loss.append(loss)list_w.append(w0)list_b.append(b0)ax.set_title("隨機(jī)樣本/y=4.5x+3") ax.scatter(dx, dy)#散點(diǎn)圖 ax.plot(dx, 4.5 * dx + 3, color='red')ax = fig.add_subplot(222) ax.set_title("損失loss") ax.plot(list_loss, c='b',marker='.')ax=fig.add_subplot(223) ax.set_title("權(quán)重w") plt.plot(list_w, c='g',marker='+')ax=fig.add_subplot(224) ax.set_title("偏差b") ax.plot(2,2,list_b, c='yellow',marker='*')#預(yù)測(cè) x1 = 3.9 predict=sess.run(pred,feed_dict={x:x1}) print("預(yù)測(cè)值:",predict)plt.show()


附:
本文章學(xué)習(xí)自中國(guó)大學(xué)mooc-深度學(xué)習(xí)應(yīng)用開發(fā)-Tensorflow實(shí)戰(zhàn)

總結(jié)

以上是生活随笔為你收集整理的Tensorflow深度学习应用(进阶篇)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。