亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 feed_dict 和 placeholder 遷移到 TensorFlow 2?

如何將 feed_dict 和 placeholder 遷移到 TensorFlow 2?

明月笑刀無情 2023-07-18 13:49:11
我正在嘗試將一個簡單的代碼片段從 TensorFlow 1.x 轉換為 TensorFlow 2:# ########## TensorFlow 1.x code: ##########import numpy as npimport tensorflow as tfcoefficients = np.array([[1.], [-10.], [25.]])w = tf.Variable(0, dtype=tf.float32)x = tf.placeholder(tf.float32, [3, 1])cost = (x[0][0] * (w**2)) + (x[1][0]*w) + (x[2][0])train = tf.train.GradientDescentOptimizer(0.05).minimize(cost)if __name__ == '__main__':    init = tf.global_variables_initializer()    session = tf.Session()    session.run(init)    for i in range(100):        session.run(train, feed_dict={x: coefficients})    print(session.run(w))大部分舊的 API 已在 TF2 中被替換(例如GradientDescentOptimizer替換為keras.optimizers.SGD),并且我能夠弄清楚如何重構我的大部分代碼,但我不知道如何重構tf.placeholder以及feed_dict這兩者如何交互。TF2 中是否簡單地避免使用占位符?
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

通常,您使用@tf.function占位符并將其轉換為函數參數。sess.runthen 被替換為調用該函數。過去用于返回操作的東西(比如minimize)現在只在函數內部調用。這是轉換后的代碼片段:


coefficients = tf.constant([[1.], [-10.], [25.]])

w = tf.Variable(0.0)


@tf.function

def train(x):

  cost = (x[0][0] * (w**2)) + (x[1][0]*w) + (x[2][0])

  tf.compat.v1.train.GradientDescentOptimizer(0.05).minimize(cost, var_list=[w])


for i in range(100):

    train(coefficients)


print(w)

正如您所提到的,train.GradientDescentOptimizer已棄用,因此升級該部分將需要更多更改。


查看完整回答
反對 回復 2023-07-18
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號