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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

Tensorflow深度学习应用(筑基篇)

發布時間:2024/7/19 pytorch 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tensorflow深度学习应用(筑基篇) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

筑基篇

#coding=gbk ''' 1.張量 用于描述數據,可以理解為多維數組,包含張量的名字,階數,形狀數值類型. Tensor("Add:0", shape=(m,n,k), dtype=float32),表示節點名為Add,0代表第0個輸出,shape表示為MxNxK維的數組,類型為float32。2.張量的類型 tf.float32,tf.float64,tf.int8,tf.int16,tf.int32,tf.int64,tf.uint8,tf.bool,tf.complex64,tf.complex128,默認為int32(float32)3.常量與變量 constant ,無需初始化,運行過程中不會改變 Variable,需要初始化,在運行過程中有可能改變。 name=tf.Variable(value,name) init_op=name.initializer(),初始化變量name init_op=tf.global_variables_initializer(),初始化前面定義的所有變量。這個操作是需要運行的。sess=tf.Session() init=tf.global_variables_initializer() ,變量的初始化 sess.run(init),需要運行才能初始化4.變量的賦值 var=tf.Variable(0,name='var',trainable=False),trainable=False指定某個變量在模型訓練中不參加訓練,默認為True. updata=tf.assign()variable_to_updated,new_value),人為更新變量的值5.占位符(placeholder) 對于定義時不知道其數值的變量,在程序運行過程中才知道值,這時候就需要用到占位符。 tf.placegolder(dtype,shape=None,name=None)6.使用了占位符,在運行時我們通過Feed提交數據和Fetch提取運行數據7.tensorBoard 可視化 設置日志路徑logdir的值,清除之前的計算圖,寫入計算圖; 通過cmd窗口,輸入命令:tensorboard --logdir=日志路徑,然后通過該命令給出的鏈接,通過本機瀏覽器訪問,即localhost:端口號。'''#1.基本模型#導入tensorflow 模塊import tensorflow.compat.v1 as tf #創建一個常量,會作為一個節點加入計算圖中 Model = tf.constant("Hello World") #創建一個會話 sess = tf.Session() #運行計算圖,得到結果 print(sess.run(Model)) #關閉會話,釋放資源 sess.close() #tensorflow是通過計算圖的形式表述計算的編程系統,每個計算都是計算圖上的一個一個節點,節點之間的邊描述了計算之間的關系。node1=tf.constant(3.0,tf.float32,name="node1") node2=tf.constant(3.0,tf.float32,name="node2") node3 = tf.add(node1, node2) sess = tf.Session() print(node3) print(sess.run(node3)) sess.close()#創建一個張量,獲取它的維度 scalar = tf.constant(50) vector = tf.constant([1, 2, 3, 4, 5, 6, 7, 8, 9]) matrix = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])print(scalar.get_shape())#shape=() print(vector.get_shape())#shape=(9,) print(matrix.get_shape())#shape=(3, 3)#獲取張量的元素值,通過下標直接訪問 sess = tf.Session() print(sess.run(matrix[1][2])) sess.close()#清除缺省計算圖 tf.reset_default_graph() a = tf.Variable(1, name="a") b = tf.add(a,2, name="b") c = tf.multiply(b, 3, name="c") d = tf.subtract(c, b, name="d")#可視化計算圖,并寫入日志 logdir = "E:/VSCODE/" if tf.gfile.Exists(logdir):tf.gfile.DeleteRecursively(logdir) writer =tf.summary.FileWriter(logdir, tf.get_default_graph()) writer.close()#為了保證系統資源的正常釋放,即使出現錯誤,也會釋放掉系統資源,保證穩定性 s=tf.constant([1,2,3,4,5,6,7,8,9]) sess=tf.Session() try:print(sess.run(s)) except:print(" Process Exception. ") #程序一點會執行這句,而釋放資源 finally:sess.close()#或者通過with來自動管理 s=tf.constant([1,2,3,4,5,6,7,8,9]) with tf.Session() as sess:print(sess.run(s))r=tf.constant([1,2,3,4,5,6,7,8,9]) sess=tf.Session() with sess.as_default():#手動指定默認的會話print(r.eval())#通過eval來計算張量的值#InteractiveSession將生成的會話自動注冊為默認會話 node1=tf.constant(3.0,tf.float32,name="node1") node2=tf.constant(3.0,tf.float32,name="node2") node3 = tf.add(node1, node2)sess=tf.InteractiveSession() print(node3.eval()) sess.close()#常量與變量相關操作 value = tf.Variable(0, name="value") one = tf.constant(1) new_value = tf.add(value, one) up_value = tf.assign(value, new_value) init = tf.global_variables_initializer()#打印,更新值 with tf.Session() as sess:sess.run(init) #變量初始化for _ in range(10):sess.run(up_value) #變量值更新print(sess.run(value)) #輸出變量值#為變量x占位,3x2矩陣,值為float32類型 x = tf.placeholder(tf.float32, [3, 2], name='X')#數據的提交和提取(Feed/Fetch) x1 = tf.placeholder(tf.float32, name='x1') x2 = tf.placeholder(tf.float32, name='x2') y = tf.multiply(x1, x2, name='y') z = tf.subtract(x1, x2, name='z')init = tf.global_variables_initializer()with tf.Session() as sess:sess.run(init)r1 = sess.run(y, feed_dict={x1: 9.1, x2: 1.9})r2 = sess.run([y, z], feed_dict={x1: [1.0, 2.0, 3.0], x2: [4.0, 5.0, 6.0]})'''y,z = sess.run([y, z], feed_dict={x1: [1.0, 2.0, 3.0], x2: [4.0, 5.0, 6.0]})'''print("y=",r1)print("y=",r2[0])print("z=",r2[0])


cmd命令輸入,注意切換到日志目錄下

代碼中設置的計算圖如下

遇到的錯誤:
1.SyntaxError: Non-UTF-8 code starting with ‘\xd6’ in file e:\VS實驗項目文件\Project\Python\main.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
主要是編碼的問題,vscode 默認的是gbk編碼,設置#coding=gbk即可。
2.W0105 11:09:45.861135 9504 deprecation_wrapper.py:119] From e:\VS實驗項目文件\Project\Python\main.py:77: The name tf.reset_default_graph is deprecated. Please use tf.compat.v1.reset_default_graph instead.
解決辦法:import tensorflow.compat.v1 as tf
3.TypeError: Fetch argument <tensorflow.python.client.session.Session object at 0x0000026C0A7A9A20> has invalid type <class ‘tensorflow.python.client.session.Session’>, must be a string or Tensor. (Can not convert a Session into a Tensor or Operation.),有問題的代碼如下:
Model = tf.constant(“Hello World”)
#創建一個會話
sess = tf.Session()
#運行計算圖,得到結果
print(sess.run(sess))
#關閉會話,釋放資源
sess.close()
這主要是print(sess.run(sess))寫錯了,只需要改為print(sess.run(Model )),注意運行的是計算模型。還有一些拼寫錯誤,要是不注意啊,真的頭疼。

附:本文章學習至中國大學mooc-深度學習應用開發-Tensorflow實戰,感謝吳老師。

總結

以上是生活随笔為你收集整理的Tensorflow深度学习应用(筑基篇)的全部內容,希望文章能夠幫你解決所遇到的問題。

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