tensorflow提供統一的格式來儲存資料,tfrecord。使得在之後的系統中可以更加方便的處理,實際問題的資料往往有很多格式和屬性,用tfrecord格式可以統一不同原始資料格式,並且更加有效的管理不同屬性。
import tensorflow as tf
import os
import cv2 as cv
def _int64_feature(value):
return tf.train.feature(int64_list=tf.train.int64list(value=[value]))
def _bytes_feature(value):
return tf.train.feature(bytes_list=tf.train.byteslist(value=[value]))
#開啟資料夾,資料夾名稱則為標籤
file_path="/home/zw/資料集/flower_photos"
#os.walk()返回file_dirs位址和下屬子資料夾位址
sub_dirs=[x[:] for x in os.listdir(file_path)]
sub_dirs=sub_dirs[1:]
filrname="/home/zw/資料集/flower_photos.tfrecords"
writer=tf.python_io.tfrecordwriter(filrname)
for i,sub_dir in enumerate(sub_dirs):
picpath="/home/zw/資料集/flower_photos"+"/"+sub_dir
sub_dir_pic=[x[:] for x in os.listdir(picpath)]
print(sub_dir_pic)
for j in sub_dir_pic:
print(i,j)
pic_path="/home/zw/資料集/flower_photos"+"/"+sub_dir+"/"+j
image=cv.imread(pic_path)
img=cv.resize(image,dsize=(600,600))
#cv.imshow('img',img)
#cv.waitkey(200)
img_raw=img.tobytes()
example=tf.train.example(features=tf.train.features(feature=))
writer.write(example.serializetostring())
#cv.destroyallwindows()
writer.close()
深度學習 tensorflow入門 tf讀入資料
同步讀取資料 import tensorflow as tf 模擬一下同步先處理資料,然後才能取訓練資料 tensorflow中,執行操作有依賴性 1 首先定義佇列 q tf.fifoqueue 3,tf.float32 放入一些資料 enq many q.enqueue many 0.1,0.2,...
tf 損失函式 TensorFlow裡面損失函式
2 交叉熵 交叉熵 crossentropy 也是loss演算法的一種,一般用在分類問題上,表達的意識為 輸入樣本屬於某一類的概率 其表示式如下,其中y代表真實值分類 0或1 a代表 值。在tensorflow中常見的交叉熵函式有 sigmoid交叉熵 softmax交叉熵 sparse交叉熵 加權...
tensorflow製作tfrecord格式資料集
encoding utf 8 import os import tensorflow as tf from pil import image cwd os.getcwd classes 製作二進位制資料 defcreate record writer tf.python io.tfrecordwri...