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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【TensorFlow】随机训练和批训练的比较与实现

發布時間:2024/7/5 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【TensorFlow】随机训练和批训练的比较与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、隨機訓練和批訓練

  • 隨機訓練:一次隨機抽樣訓練數據和目標數據對完成訓練。
  • 批訓練:一次大批量訓練取平均損失來進行梯度計算,批量訓練大小可以一次上擴到整個數據集。
  • 批訓練和隨機訓練的差異優化器方法收斂的不同
  • 批訓練的難點在于:確定合適的batch_size
  • 二者比較
  • 訓練類型優點缺點
    隨機訓練脫離局部最小一般需要更多的迭代次數才收斂
    批訓練快速得到最小損失耗費更多的計算資源

    二、實現隨機訓練

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.python.framework import ops ops.reset_default_graph() # 一、隨機訓練:# 1.創建計算圖 sess = tf.Session()# 2.創建數據 x_vals = np.random.normal(1, 0.1, 100) y_vals = np.repeat(10., 100) x_data = tf.placeholder(shape=[1], dtype=tf.float32) y_target = tf.placeholder(shape=[1], dtype=tf.float32)# 3.創建變量 A = tf.Variable(tf.random_normal(shape=[1]))# 4.增加圖操作 my_output = tf.multiply(x_data, A)# 5.聲明L2正則損失 loss = tf.square(my_output - y_target)# 6.聲明優化器 學習率為0.02 my_opt = tf.train.GradientDescentOptimizer(0.02) train_step = my_opt.minimize(loss)# 7.初始化變量 init = tf.global_variables_initializer() sess.run(init)# 8.保存loss數據用于繪圖 loss_stochastic = []# 9.開始訓練 for i in range(100):rand_index = np.random.choice(100)rand_x = [x_vals[rand_index]]rand_y = [y_vals[rand_index]]sess.run(train_step, feed_dict={x_data: rand_x, y_target: rand_y})if (i+1)%5==0:print('Step #' + str(i+1) + ' A = ' + str(sess.run(A)))temp_loss = sess.run(loss, feed_dict={x_data: rand_x, y_target: rand_y})print('Loss = ' + str(temp_loss))loss_stochastic.append(temp_loss) # 輸出結果 Step #5 A = [2.0631378] Loss = [60.90259] Step #10 A = [3.560384] Loss = [35.39518] Step #15 A = [4.7225595] Loss = [37.812637] Step #20 A = [5.681144] Loss = [13.796157] Step #25 A = [6.4919457] Loss = [13.752169] Step #30 A = [7.1609416] Loss = [9.70855] Step #35 A = [7.710085] Loss = [5.826261] Step #40 A = [8.253489] Loss = [7.3934216] Step #45 A = [8.671478] Loss = [2.5475926] Step #50 A = [8.993064] Loss = [1.32571] Step #55 A = [9.101872] Loss = [0.67589337] Step #60 A = [9.256593] Loss = [5.34419] Step #65 A = [9.329251] Loss = [0.58555096] Step #70 A = [9.421848] Loss = [3.088755] Step #75 A = [9.563117] Loss = [6.0601945] Step #80 A = [9.661991] Loss = [0.05205128] Step #85 A = [9.8208685] Loss = [2.3963788] Step #90 A = [9.8652935] Loss = [0.19284673] Step #95 A = [9.842097] Loss = [4.9211507] Step #100 A = [10.044914] Loss = [4.2354054]

    三、實現批訓練

    import numpy as np import tensorflow as tf import matplotlib as pltfrom tensorflow.python.framework import ops ops.reset_default_graph()sess = tf.Session()# 1.聲明批量大小(一次傳入多少訓練數據) batch_size = 20# 2.聲明模型的數據、占位符和變量。 # 這里能做的是改變占位符的形狀,占位符有兩個維度: # 第一個維度為None,第二個維度是批量訓練中的數據量。 # 我們能顯式地設置維度為20,也能設為None。 # 我們必須知道訓練模型中的維度,從而阻止不合法的矩陣操作 x_vals = np.random.normal(1,0.1,100) y_vals = np.repeat(10.,100) x_data = tf.placeholder(shape=[None, 1], dtype=tf.float32) y_target = tf.placeholder(shape=[None, 1], dtype=tf.float32) A = tf.Variable(tf.random_normal(shape=[1,1]))# 3.現在在計算圖中增加矩陣乘法操作, # 切記矩陣乘法不滿足交換律,所以在matmul()函數中的矩陣參數順序要正確: my_output = tf.multiply(x_data, A)# 4.改變損失函數 # 批量訓練時損失函數是每個數據點L2損失的平均值 loss = tf.reduce_mean(tf.square(my_output - y_target))# 5.聲明優化器 my_opt = tf.train.GradientDescentOptimizer(0.02) train_step = my_opt.minimize(loss)# 6.在訓練中通過循環迭代優化模型算法。 # 為了繪制損失值圖與隨機訓練對比 # 這里初始化一個列表每間隔5次迭代保存損失函數# 初始化變量 init = tf.global_variables_initializer() sess.run(init)loss_batch = [] for i in range(100):# 每次用0~100中取20個數作為索引值rand_index = np.random.choice(100, size=batch_size)# 轉置rand_x = np.transpose([x_vals[rand_index]])rand_y = np.transpose([y_vals[rand_index]])sess.run(train_step, feed_dict={x_data:rand_x,y_target:rand_y})if (i+1)%5 == 0:print("Step # " + str(i+1) + ' A = ' + str(sess.run(A)))temp_loss = sess.run(loss, feed_dict={x_data:rand_x,y_target:rand_y})print('Loss = ' + str(temp_loss))loss_batch.append(temp_loss) 在這里插入代碼片 # 輸出結果 Step # 5 A = [[2.626382]] Loss = 55.444374 Step # 10 A = [[3.980196]] Loss = 36.855064 Step # 15 A = [[5.0858808]] Loss = 22.765038 Step # 20 A = [[5.9751787]] Loss = 15.496961 Step # 25 A = [[6.713659]] Loss = 12.349718 Step # 30 A = [[7.2950797]] Loss = 7.5467796 Step # 35 A = [[7.782353]] Loss = 5.17468 Step # 40 A = [[8.20625]] Loss = 4.1199327 Step # 45 A = [[8.509094]] Loss = 2.6329637 Step # 50 A = [[8.760488]] Loss = 1.9998455 Step # 55 A = [[8.967735]] Loss = 1.6577679 Step # 60 A = [[9.1537]] Loss = 1.4356906 Step # 65 A = [[9.317189]] Loss = 1.9666836 Step # 70 A = [[9.387019]] Loss = 1.9287064 Step # 75 A = [[9.499526]] Loss = 1.7477573 Step # 80 A = [[9.594302]] Loss = 1.719229 Step # 85 A = [[9.666611]] Loss = 1.4769726 Step # 90 A = [[9.711805]] Loss = 1.1235845 Step # 95 A = [[9.784608]] Loss = 1.9176414 Step # 100 A = [[9.849552]] Loss = 1.1561565

    四、繪制圖像

    plt.plot(range(0, 100, 5), loss_stochastic, 'b-', label='Stochastic Loss') plt.plot(range(0, 100, 5), loss_batch, 'r--', label='Batch Loss, size=20') plt.legend(loc='upper right', prop={'size': 11}) plt.show()


    從圖中可以看出批訓練損失更平滑,隨機訓練損失更不規則

    總結

    以上是生活随笔為你收集整理的【TensorFlow】随机训练和批训练的比较与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 一级a性色生活片久久无 | 9l视频自拍蝌蚪9l视频 | jizz性欧美2| 特黄一区二区三区 | 黄色网视频 | 国产91热爆ts人妖系列 | 香蕉精品视频在线观看 | 日韩黄色在线视频 | 牛夜精品久久久久久久99黑人 | 善良的公与媳hd中文字 | 日本久久久久 | 成人免费一级片 | 国产成人短视频在线观看 | www.av在线播放| 日韩少妇激情 | 久久国产精品无码一区二区 | 欧美熟妇精品一区二区蜜桃视频 | 人妻av无码一区二区三区 | 秋霞av鲁丝片一区二区 | 久久国产主播 | 99久久99久久精品国产片果冻 | 国产午夜精品免费一区二区三区视频 | 国产精品无码专区 | 日韩精品久久久 | 亚洲一级影院 | 欧美专区一区 | 风流僵尸艳片a级 | 亚洲成人日韩在线 | 国产亚洲一区二区不卡 | 女人av在线 | 黄色小视屏| 99久久夜色精品国产亚洲 | 一级特黄免费视频 | 婷婷色综合网 | 午夜成人影片 | 我不卡一区二区 | 国产成人aa | 日韩色视频在线观看 | 影音先锋中文字幕在线视频 | 日韩一级片av | 黄网站色 | 视频一区免费 | 成人五区 | 欧美精品一区二 | 嫩草一二三 | 国产精品久久久久久久久久久免费看 | 激情五月婷婷综合网 | 精品久久精品久久 | av不卡免费| 韩国三色电费2024免费吗怎么看 | 国内精品久久久久久久久 | 欧美日韩亚洲国产精品 | 韩日毛片 | 波多野结衣日韩 | 日本一二三不卡 | 日本αv | 色污网站 | 岳狂躁岳丰满少妇大叫 | 日韩成人av片 | 玖玖热视频 | 特级一级黄色片 | 蜜桃视频在线播放 | 处女朱莉第一次 | 欧美韩国日本一区 | 一区二区三区在线电影 | 金鱼妻日剧免费观看完整版全集 | 女人高潮娇喘1分47秒 | 欧美在线视频免费 | 人人97| 可以免费看黄的网站 | 91蜜桃婷婷狠狠久久综合9色 | 精品一区二区三区视频日产 | 啪啪免费小视频 | 超碰77| 日韩欧美黄色 | 久久久亚洲精品无码 | 欧美日韩亚洲国产综合 | 三级视频在线 | 亚洲一区免费看 | 在线免费av观看 | 人碰人人 | av天天射 | sm调教羞耻姿势图片 | 久草综合视频 | 粗大的内捧猛烈进出在线视频 | 热久久中文| 动漫美女被吸乳奶动漫视频 | 超级砰砰砰97免费观看最新一期 | 人人干人人做 | 偷拍亚洲色图 | 精品中文字幕视频 | 91国在线观看 | 欧美一区中文字幕 | 名校风暴在线观看免费高清完整 | 国产又粗又猛又爽又黄的视频小说 | 中国人妖和人妖做爰 | 久久精品免费网站 | 欧美日韩电影一区二区三区 | 亚洲福利网站 |