a = tf.constant(10)
x = tf.variable(tf.ones([3,3]))y = tf.variable(tf.zeros([3,3]))
變數定義完,必須顯式的執行一下初始化操作:
init = tf.initialize_all_variables()
變數在定義時要初始化,但是如果有些變數剛開始我們並不知道它們的值,無法初始化,那怎麼辦呢?
那就用佔位符來占個位置,如:
x = tf.placeholder(tf.float32,[none,784])
指定這個變數的型別和shape,以後再用feed的方式來輸入值。
4.圖(graph)
如果把下面的python語句改在tf語句,該怎麼寫呢:
x = 3y = 2z = x +yprint(z)
如果在tf中直接像上面這樣寫,那就錯了。x,y,z分別是三個tensor物件,物件間的運算稱之為操作(op), tf不會去一條條地執行各個操作,而是把所有的操作都放入到乙個圖(graph)中,圖中的每乙個結點就是乙個操作。然後行將整個graph 的計算過程交給乙個 tensorflow 的session
, 此session
可以執行整個計算過程,比起操作(operations)一條一條的執行效率高的多。
執行**如下:
importtensorflow as tf
x = tf.variable(3)
y = tf.variable(5)
z = x +y
init =tf.initialize_all_variables()
with tf.session() as sess:
sess.run(init)
print(sess.run(z))
其中sess.run()即是執行,注意要先執行變數初始化操作,再執行運算操作。
session需要先建立,使用完後還需要釋放。因此我們使用with...as..語句,讓系統自動釋放。
例子1:hello world
importtensorflow as tf
s = tf.constant('
hello world')
with tf.session() as sess:
print(sess.run(s))
例子2:加法和乘法
importtensorflow as tf
a =tf.placeholder(tf.int16)
b =tf.placeholder(tf.int16)
add =tf.add(a,b)
mul =tf.mul(a,b)
with tf.session() as sess:
print('
a+b=
',sess.run(add,feed_dict=))
print('
a*b=
',sess.run(mul,feed_dict=))
此處使用feed_dict以字典的方式對多個變數輸入值。
例子3:矩陣乘法
importtensorflow as tf
a = tf.variable(tf.ones([3,2]))
b = tf.variable(tf.ones([2,3]))
product = tf.matmul(5*a,4*b)
init =tf.initialize_all_variables()
with tf.session() as sess:
sess.run(init)
print(sess.run(product))
其中
product=tf.matmul(5*a,4*b)
也可以改成
product=tf.matmul(tf.mul(5.0,a),tf.mul(4.0,b))
定義變數時,沒有指定資料型別,則預設為float32,因此是5.0而不是5
tensorflow入門學習(二)
前言 tensorflow用張量這種資料結構來表示所有的資料。用一階張量來表示向量,如 v 1.2,2.3,3.5 如二階張量表示矩陣,如 m 1,2,3 4,5,6 7,8,9 可以看成是方括號巢狀的層數。一 fetch的用法 會話執行完成之後,如果我們想檢視會話執行的結果,就需要使用fetch來...
莫煩tensorflow系列教程學習
1.普通機器學習 函式係數 y 0.1x 0.3 coding gbk import tensorflow as tf import numpy as np 生成資料,y 0.1x 0.3 x data np.random rand 100 astype np.float32 y data x da...
tensorflow 綜合學習系列例項之神經網路
本文為大家講解如何使用tf實現乙個簡單的神經網路 首先大家要知道神經網路的簡單組成,一般來說乙個神經網路會包含,輸入層 隱藏層,輸出層.例子很簡單,主要是為了學會使用tf的核心步驟 這個是核心建立層的方法 下面是完整實現 author jiahp 建立乙個簡單的神經網路 包括 輸入層 隱藏層 輸出層...