發表文章

目前顯示的是 1月, 2018的文章

tensorflow-Windows下使用tensorboard

圖片
最近在學習Tensorflow中的tensoboard的視覺化,但是怎麼都無法實現,按照教程,在Windows下會無法顯示網頁,教程中是在Linux中實現的,檔路徑與Windows不一樣,下面我以官方給出教程為例,指出在Window下要修改的地方: from __future__ import absolute_import from __future__ import division from __future__ import print_function import argparse import sys import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data FLAGS = None def train():   # Import data   mnist = input_data.read_data_sets(FLAGS.data_dir,                                     one_hot=True,                                     fake_data=FLAGS.fake_data)   sess = tf.InteractiveSession()   # Create a multilayer model.   # Input placeholders   with tf.name_scope('input'):     x = tf.placeholder(tf.float32, [None, 784], name='x-input')     y_ = tf.placeholder(tf.float32, [None, 10], name='y-input')   with tf.name_scope('input_reshape'):     image_shaped_input = tf.reshape(x, [-1, 28, 28, 1])     tf.summary.image('input', image_s

tensorflow-TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'問題解決

延續上一篇"Python 3.x中使用print函數出現語法錯誤(SyntaxError: invalid syntax)的原因" 當 print 增加 () 後仍然出現錯誤 After %s iteration(s): x%s is %f. Traceback (most recent call last):   File "test9.py", line 14, in <module>     print ('After %s iteration(s): x%s is %f.') % (i+1, i+1, x_value) TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple' 解決方式 在印出的外層再加上() print ( ("After %s iteration(s): x%s is %f.") % (i+1, i+1, x_value) )

tensorflow-Python 3.x中使用print函數出現語法錯誤(SyntaxError: invalid syntax)的原因

  File "test9.py", line 14     print 'After %s iteration(s): x%s is %f.' % (i+1, i+1, x_value)                                                                  ^ SyntaxError: invalid syntax Python 2.x: print 「所要列印的內容」 , 不帶括號 Python 3.x: print函數(」所要列印的內容」),必須帶括號

tensorflow-解決AttributeError: module 'tensorflow' has no attribute 'mul'問題

原因:TensorFlow 發布的新版本的API 修改了 tf.mul, tf.sub and tf.neg are deprecated in favor of tf.multiply, tf.subtract and tf.negative. 解決方法:使用時將  tf.mul改成  tf.multiply即可 其餘的  tf.sub和tf.neg也要相應修改為  tf.subtract和tf.negative。

tensorflow-解决SyntaxError: invalid syntax

  File "test9.py", line 10     print sess.run(y, feed_dict={a: 3, b: 3})              ^ SyntaxError: invalid syntax 這個報錯是因為python3中print變成了一個方法,需要帶括號當參數傳入值。 print(sess.run(y, feed_dict={a: 3, b: 3})) 即可解決!

tensorfloow-placeholder用法

簡單運用 這一次我們會講到Tensorflow中的placeholder, placeholder是Tensorflow中的佔位符,暫時儲存變數. Tensorflow如果想要從外部傳入data,那就需要用到tf.placeholder(),然後以這種形式傳輸資料sess.run(***, feed_dict={input: **}). 示例: import tensorflow as tf #在 Tensorflow 中需要定義 placeholder 的 type ,一般為 float32 形式 input1 = tf.placeholder(tf.float32) input2 = tf.placeholder(tf.float32) # mul = multiply 是將input1和input2 做乘法運算,並輸出為 output ouput = tf.multiply(input1, input2) 接下來,傳值的工作交給了sess.run(),需要傳入的值放在了feed_dict={}並一一對應每一個input. placeholder與feed_dict={}是綁定在一起出現的。 with tf.Session() as sess:     print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]})) # [ 14.]

tensorflow-基礎語法

TensorFlow 用張量這種資料結構來表示所有的資料。用一階張量來表示向量,如: v = [1.2, 2.3, 3.5] ,如二階張量表示矩陣,如: m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ,可以看成是方括號嵌套的層數。 1.   編輯器 2.   編寫 tensorflow 代碼,實際上就是編寫 py 檔,最好找一個好用的編輯器,如果你用 vim 或 gedit 比較順手,那也可以的啦。我們既然已經安裝了 anaconda ,那麼它裡面自帶一個還算不錯的編輯器,名叫 spyder ,用起來和 matlab 差不多,還可以在右上角查看變數的值。因此我一直使用這個編輯器。它的啟動方式也很簡單,直接在終端輸入 spyder 就行了。 Note: 用 Anaconda 自帶的 IDE spyder 編輯 python 時,發現無法導入 tensorflow 模塊,我猜測應該時 IDE 的搜索路徑沒有包含 tensorflow 的路徑吧(未仔細研究),然後我在 Anadconda 的安裝路徑中找到了 / envs/tensorflow/lib/python2.7 ,並將該路徑中的 site-packages 檔夾中的所有檔拷貝到, Anaconda 安裝路徑下的 lib/python2.7/site-packages 檔夾中,之後再次打開 IDE ,發現已經可以 import 了!!!! cd   anaconda cp -rf  envs/tensorflow/lib/python2.7/site-packages/* lib/python2.7/site-packages/ 2.   常數 3.   我們一般引入 tensorflow 都用語句 4.   import tensorflow as tf 5.   因此,以後文章中我就直接用 tf 來表示 tensorflow 了。 6.   在 tf 中,常數的定義用語句: a=tf.constant(10) 這就定義了一個值為 10 的常數 a 3.   變數 4.   變數用 Variable 來定義 , 並且必須初始化,如: x=tf

tensorflow-常用基礎語法

常用語法筆記 (以下指令皆需先宣告 import tensorflow as tf) 一般結構: (1)建立計算圖 (2)執行計算圖 建立計算圖 宣告: tf.constant() 建立常數 tf.variable() 建立變數 數值運算: tf.add(x,y,name) 加法 tf.subtract(x,y,name) 減法 tf.multiply(x,y,name) 乘法 tf.divide(x,y,name) 除法 tf.mod(x,y,name) 餘數 tf.sqrt(x,name) 平方 tf.abs(x,name) 絕對值 x : 輸入參數 y : 輸入參數 name : 設定運算名稱 建立連結: tf.Session() 建立連結 說明: session的原始意思為對談,在這邊的意思為把用戶端和執行裝置之間建立一個連結,有了這個連結就可以把建立好的計算圖再裝置中執行。 執行計算圖 sess=tf.Session() sess.run() 執行計算圖 Session Tensorflow是基於圖架構進行運算的深度學習框架,Session是圖和執行者之間的媒介,首先透過Session來啟動圖,而Session.run()是用來進行操作的,Session再使用完過後需要透過close來釋放資源,或是透過with as的方式來讓他自動釋放。 Constant 就是不可變的常數,以下透過程式碼來逐一講解 import tensorflow as tf result=tf.constant(5) print (result) imgur 在沒有session.run的情況下,我們可以看到const跟tensor以及type,那麼這次改用session.run的方式來執行result import tensorflow as tf result=tf.constant(5) with tf.Session() as sess:     result=sess.run(result)     print (result) 這樣就會印出5這個數字了 PlaceHolder 由於Tensorflow都是透過圖去進行運算的,因此在我們還不知道資

tensorflow-發生警告錯誤 Use `tf.global_variables_initializer` instead. 解決

圖片
通常執行 tensorflow 時,偶而會發生一些錯誤 例如 當發生下列錯誤時 WARNING:tensorflow:From <stdin>:1 in <module>.: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02. Instructions for updating: Use `tf.global_variables_initializer` instead. 表示 tensorflow 的版本比較新,語法已經修正過,我們可以透過語法進行查詢例如 import tensorflow as tf tf.__version__ 例如我的版本為1.4.0 則當我輸入 tf.Session().run(tf.initialize_all_variables()) 會發生錯誤警告 WARNING:tensorflow:From <stdin>:1 in <module>.: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02. Instructions for updating: Use `tf.global_variables_initializer` instead. 其實我們只要改成相對應的語法即可解決 tf.Session().run(tf.global_variables_initializer()) 但是如果版本為0.11 可能會發生下列錯誤 tf.Session().run(tf.global_variables_initializer()) AttributeError: module 'tensorflow' has no attribute 'global_variables_initializer' 因為0.1