亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何定義TensorFlow輸入節(jié)點(diǎn)

 更新時(shí)間:2020年01月23日 17:09:53   作者:cakincqm  
今天小編就為大家分享一篇如何定義TensorFlow輸入節(jié)點(diǎn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

TensorFlow中有如下幾種定義輸入節(jié)點(diǎn)的方法。

通過占位符定義:一般使用這種方式。

通過字典類型定義:一般用于輸入比較多的情況。

直接定義:一般很少使用。

一 占位符定義

示例:

具體使用tf.placeholder函數(shù),代碼如下:

X = tf.placeholder("float")
Y = tf.placeholder("float")

二 字典類型定義

1 實(shí)例

通過字典類型定義輸入節(jié)點(diǎn)

2 關(guān)鍵代碼

# 創(chuàng)建模型
# 占位符
inputdict = {
  'x': tf.placeholder("float"),
  'y': tf.placeholder("float")
}

3 解釋

通過字典定義的方式和第一種比較像,只不過是堆疊到一起。

4 全部代碼

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
plotdata = { "batchsize":[], "loss":[] }
def moving_average(a, w=10):
  if len(a) < w:
    return a[:]  
  return [val if idx < w else sum(a[(idx-w):idx])/w for idx, val in enumerate(a)]
#生成模擬數(shù)據(jù)
train_X = np.linspace(-1, 1, 100)
train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3 # y=2x,但是加入了噪聲
#圖形顯示
plt.plot(train_X, train_Y, 'ro', label='Original data')
plt.legend()
plt.show()
# 創(chuàng)建模型
# 占位符
inputdict = {
  'x': tf.placeholder("float"),
  'y': tf.placeholder("float")
}
# 模型參數(shù)
W = tf.Variable(tf.random_normal([1]), name="weight")
b = tf.Variable(tf.zeros([1]), name="bias")
# 前向結(jié)構(gòu)
z = tf.multiply(inputdict['x'], W)+ b
#反向優(yōu)化
cost =tf.reduce_mean( tf.square(inputdict['y'] - z))
learning_rate = 0.01
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) #Gradient descent
# 初始化變量
init = tf.global_variables_initializer()
#參數(shù)設(shè)置
training_epochs = 20
display_step = 2
# 啟動session
with tf.Session() as sess:
  sess.run(init)
  # Fit all training data
  for epoch in range(training_epochs):
    for (x, y) in zip(train_X, train_Y):
      sess.run(optimizer, feed_dict={inputdict['x']: x, inputdict['y']: y})
    #顯示訓(xùn)練中的詳細(xì)信息
    if epoch % display_step == 0:
      loss = sess.run(cost, feed_dict={inputdict['x']: train_X, inputdict['y']:train_Y})
      print ("Epoch:", epoch+1, "cost=", loss,"W=", sess.run(W), "b=", sess.run(b))
      if not (loss == "NA" ):
        plotdata["batchsize"].append(epoch)
        plotdata["loss"].append(loss)
  print (" Finished!")
  print ("cost=", sess.run(cost, feed_dict={inputdict['x']: train_X, inputdict['y']: train_Y}), "W=", sess.run(W), "b=", sess.run(b))
  #圖形顯示
  plt.plot(train_X, train_Y, 'ro', label='Original data')
  plt.plot(train_X, sess.run(W) * train_X + sess.run(b), label='Fitted line')
  plt.legend()
  plt.show()
  
  plotdata["avgloss"] = moving_average(plotdata["loss"])
  plt.figure(1)
  plt.subplot(211)
  plt.plot(plotdata["batchsize"], plotdata["avgloss"], 'b--')
  plt.xlabel('Minibatch number')
  plt.ylabel('Loss')
  plt.title('Minibatch run vs. Training loss')
   
  plt.show()
  print ("x=0.2,z=", sess.run(z, feed_dict={inputdict['x']: 0.2}))

5 運(yùn)行結(jié)果

三 直接定義

1 實(shí)例

直接定義輸入結(jié)果

2 解釋

直接定義:將定義好的Python變量直接放到OP節(jié)點(diǎn)中參與輸入的運(yùn)算,將模擬數(shù)據(jù)的變量直接放到模型中訓(xùn)練。

3 代碼

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
#生成模擬數(shù)據(jù)
train_X =np.float32( np.linspace(-1, 1, 100))
train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3 # y=2x,但是加入了噪聲
#圖形顯示
plt.plot(train_X, train_Y, 'ro', label='Original data')
plt.legend()
plt.show()
# 創(chuàng)建模型
# 模型參數(shù)
W = tf.Variable(tf.random_normal([1]), name="weight")
b = tf.Variable(tf.zeros([1]), name="bias")
# 前向結(jié)構(gòu)
z = tf.multiply(W, train_X)+ b
#反向優(yōu)化
cost =tf.reduce_mean( tf.square(train_Y - z))
learning_rate = 0.01
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) #Gradient descent
# 初始化變量
init = tf.global_variables_initializer()
#參數(shù)設(shè)置
training_epochs = 20
display_step = 2
# 啟動session
with tf.Session() as sess:
  sess.run(init)
  # Fit all training data
  for epoch in range(training_epochs):
    for (x, y) in zip(train_X, train_Y):
      sess.run(optimizer)
    #顯示訓(xùn)練中的詳細(xì)信息
    if epoch % display_step == 0:
      loss = sess.run(cost)
      print ("Epoch:", epoch+1, "cost=", loss,"W=", sess.run(W), "b=", sess.run(b))
  print (" Finished!")
  print ("cost=", sess.run(cost), "W=", sess.run(W), "b=", sess.run(b))

4 運(yùn)行結(jié)果

以上這篇如何定義TensorFlow輸入節(jié)點(diǎn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python操作MongoDB基礎(chǔ)知識

    python操作MongoDB基礎(chǔ)知識

    MongoDB支持好多語言,今天我們就寫一寫python操作MongoDB的知識,從安裝MongoDB到操作MongoDB全都有了。
    2013-11-11
  • JupyterNotebook設(shè)置Python環(huán)境的方法步驟

    JupyterNotebook設(shè)置Python環(huán)境的方法步驟

    這篇文章主要介紹了JupyterNotebook設(shè)置Python環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python?format格式化和數(shù)字格式化

    python?format格式化和數(shù)字格式化

    這篇文章主要介紹了python?format格式化和數(shù)字格式化,格式化字符串的函數(shù)?str.format(),它增強(qiáng)了字符串格式化的功能,基本語法是通過{}?和?:?來代替以前的?%?,下面內(nèi)容介紹,需要的朋友可以參考一下
    2022-02-02
  • python BeautifulSoup庫的常用操作

    python BeautifulSoup庫的常用操作

    Beautiful Soup 是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫,它能夠通過你喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航,查詢,修改文檔的方式,本文就來給大家簡單介紹一下BeautifulSoup庫的常用操作,需要的朋友可以參考下
    2023-08-08
  • Python數(shù)據(jù)擬合與廣義線性回歸算法學(xué)習(xí)

    Python數(shù)據(jù)擬合與廣義線性回歸算法學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)擬合與廣義線性回歸算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python3網(wǎng)絡(luò)爬蟲開發(fā)實(shí)戰(zhàn)之極驗(yàn)滑動驗(yàn)證碼的識別

    Python3網(wǎng)絡(luò)爬蟲開發(fā)實(shí)戰(zhàn)之極驗(yàn)滑動驗(yàn)證碼的識別

    本節(jié)我們的目標(biāo)是用程序來識別并通過極驗(yàn)驗(yàn)證碼的驗(yàn)證,其步驟有分析識別思路、識別缺口位置、生成滑塊拖動路徑,最后模擬實(shí)現(xiàn)滑塊拼合通過驗(yàn)證。需要的朋友可以參考下
    2019-08-08
  • python email smtplib模塊發(fā)送郵件代碼實(shí)例

    python email smtplib模塊發(fā)送郵件代碼實(shí)例

    本篇文章給大家分享了python email smtplib模塊發(fā)送郵件的相關(guān)代碼分享,有需要的朋友參考學(xué)習(xí)下。
    2018-04-04
  • Python析構(gòu)函數(shù)__del__定義原理解析

    Python析構(gòu)函數(shù)__del__定義原理解析

    這篇文章主要介紹了Python析構(gòu)函數(shù)__del__定義原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python with的用法

    Python with的用法

    with 語句是從 Python 2.5 開始引入的一種與異常處理相關(guān)的功能。with 語句適用于對資源進(jìn)行訪問的場合,確保不管使用過程中是否發(fā)生異常都會執(zhí)行必要的“清理”操作,釋放資源,比如文件使用后自動關(guān)閉、線程中鎖的自動獲取和釋放等。
    2014-08-08
  • 一文帶你深入理解python中pytest-repeat插件的工作原理

    一文帶你深入理解python中pytest-repeat插件的工作原理

    這篇文章主要和大家一起深入探討到底pytest_repeat插件的具體功能是如何實(shí)現(xiàn)的呢,相信具體了解了該插件,其他三方插件也可以很快了解它內(nèi)部運(yùn)行機(jī)制,所以本文詳細(xì)講解了python pytest-repeat插件的工作原理,需要的朋友可以參考下
    2023-09-09

最新評論