tensorflow使用誤區與技巧

2021-09-24 01:56:43 字數 1351 閱讀 2932

錯誤方法:

def data_format(sess, image_array, label_array, slice_array):

train_image_array =

train_label_array =

for b in range(len(image_array)):

for r in range(len(slice_array[b])):

img = sess.run(tf.image.resize_images(

image_array[b:b + 1, slice_array[b][r][0]:slice_array[b][r][2] + slice_array[b][r][0],

slice_array[b][r][1]:slice_array[b][r][3] + slice_array[b][r][1], :], [32, 32], method=1))

# print(img_slice)

return np.asarray(train_image_array), np.asarray(train_label_array)

正確方法:

def data_format(sess, image_array, label_array, slice_array):

train_image_array =

train_label_array =

i_x = tf.placeholder(tf.float32, shape=[1, none, none, 3], name="i_x")

resize = tf.image.resize_images(i_x, size=[32, 32], method=1)

for b in range(len(image_array)):

for r in range(len(slice_array[b])):

img = sess.run(resize, feed_dict=)

# print(img_slice)

return np.asarray(train_image_array), np.asarray(train_label_array)

錯誤方法之所以是錯誤,是因為它定義了非常多的tensor(有多少次迴圈就定義了多少個tensor),定義出來的tensor是要載入到圖裡面去的,tensor節點多了,會導致圖非常大(容易記憶體溢位),且圖載入tensor節點非常耗時。

正確方法之所以正確,是因為它只定義了乙個tensor,其他的只是不斷重複執行這個tensor而已。所以圖非常簡單。

其次:tensor裡面放到的資料只能是多維陣列(一維,二維,三維。。。),不能是其他資料結構型別

TensorFlow安裝與使用

python version 檢視當前python版本,此處為3.6 conda create n tensorflow python 3.6 新建名為tensorflow的conda環境 source activate tensorflow 啟用tensorflow環境 pip install t...

使用stop誤區

我們使用stop終止執行緒會出現的問題 public class user public int getid public void setid int id public string getname public void setname string name override public ...

tensorflow安裝使用與公升級文件

以下內容針對cpu版本,gpu版本基本一樣 一 tf安裝 a 安裝方式 1 由於這個tf是基於python的工具,所以要先在電腦裡安裝python3.5 最新版本的tf已經開始支援3.6了,所以3.6也可以 2 tf安裝前還需要安裝一下visual c 這個要注意一下 3 然後進入命令提示符的黑框框...