溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python深度學(xué)習(xí)tensorflow怎么使用

發(fā)布時間:2022-07-01 10:27:47 來源:億速云 閱讀:298 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“python深度學(xué)習(xí)tensorflow怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python深度學(xué)習(xí)tensorflow怎么使用”吧!

1、編輯器

編寫tensorflow代碼,實際上就是編寫py文件,最好找一個好用的編輯器,如果你用vim或gedit比較順手,那也可以的啦。我們既然已經(jīng)安裝了anaconda,那么它里面自帶一個還算不錯的編輯器,名叫spyder,用起來和matlab差不多,還可以在右上角查看變量的值。因此我一直使用這個編輯器。它的啟動方式也很簡單,直接在終端輸入spyder就行了。

2、常量

我們一般引入tensorflow都用語句

import tensorflow as tf

因此,以后文章中我就直接用tf來表示tensorflow了。

在tf中,常量的定義用語句:

a=tf.constant(10)

這就定義了一個值為10的常量a

3、變量

變量用Variable來定義, 并且必須初始化,如:

x=tf.Variable(tf.ones([3,3]))
y=tf.Variable(tf.zeros([3,3]))

分別定義了一個3x3的全1矩陣x,和一個3x3的全0矩陣y,0和1的值就是初始化。

變量定義完后,還必須顯式的執(zhí)行一下初始化操作,即需要在后面加上一句:

init=tf.global_variables_initializer()

這句可不要忘了,否則會出錯。

例:自定義一個拉普拉斯的W變量:

import tensorflow as tf
import numpy as np
x=np.array([[1,1,1],[1,-8,1],[1,1,1]])
w=tf.Variable(initial_value=x)
sess=tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(w))

4、占位符

變量在定義時要初始化,但是如果有些變量剛開始我們并不知道它們的值,無法初始化,那怎么辦呢?

那就用占位符來占個位置,如:

x = tf.placeholder(tf.float32, [None, 784])

指定這個變量的類型和shape,以后再用feed的方式來輸入值。

5、圖(graph)

如果把下面的python語句改在tf語句,該怎么寫呢:

x=3
y=2
z=x+y
print(z)

定義兩個變量,并將兩個數(shù)相加,輸出結(jié)果。如果在tf中直接像上面這樣寫,那就錯了。x,y,z分別是三個tensor對象,對象間的運(yùn)算稱之為操作(op), tf不會去一條條地執(zhí)行各個操作,而是把所有的操作都放入到一個圖(graph)中,圖中的每一個結(jié)點就是一個操作。然后行將整個graph 的計算過程交給一個 TensorFlow 的Session, 此 Session 可以運(yùn)行整個計算過程,比起操作(operations)一條一條的執(zhí)行效率高的多。

執(zhí)行代碼如下:

import tensorflow as tf

x = tf.Variable(3)
y = tf.Variable(5)
z=x+y
init =tf.global_variables_initializer()
with tf.Session() as sess: 
sess.run(init) 
print(sess.run(z))

其中sess.run()即是執(zhí)行,注意要先執(zhí)行變量初始化操作,再執(zhí)行運(yùn)算操作。

Session需要先創(chuàng)建,使用完后還需要釋放。因此我們使用with...as..語句,讓系統(tǒng)自動釋放。

例子1:hello world

import tensorflow as tf
word=tf.constant('hello,world!')
with tf.Session() as sess:
    print(sess.run(word))

例子2:加法和乘法

import tensorflow 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={a: 2, b: 3}))
    print('a*b=',sess.run(mul, feed_dict={a: 2, b: 3}))

此處使用feed_dict以字典的方式對多個變量輸入值。

例子3: 矩陣乘法

import tensorflow 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))

定義變量時,沒有指定數(shù)據(jù)類型,則默認(rèn)為float32,因此是5.0而不是5

到此,相信大家對“python深度學(xué)習(xí)tensorflow怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI