記 第一次 用自己的訓(xùn)練集 在tensorflow上訓(xùn)練CNN的 坑

花了三天的時間渔扎,才成功在down下來的tensorflow代碼上跑通了自己的CNN,心累

數(shù)據(jù)輸入

這個問題幾乎占據(jù)了一天半的時間泄朴。不得不說,tensorflow真的是超級超級煩,尤其是對于我們這些初學(xué)者玫锋,官方文檔及其晦澀又沒有例子挠乳,教程上還老拿MNIST和cifar_10這種做好的數(shù)據(jù)集說事权薯,完全不知道圖片該如何輸入姑躲。

后來還是用TFRecords,先把圖片加上標(biāo)簽制作成二進(jìn)制文件盟蚣,使用時再直接用reader讀

下面是官方教程里的原話

標(biāo)準(zhǔn)TensorFlow格式

另一種保存記錄的方法可以允許你講任意的數(shù)據(jù)轉(zhuǎn)換為TensorFlow所支持的格式黍析, 這種方法可以使TensorFlow的數(shù)據(jù)集更容易與網(wǎng)絡(luò)應(yīng)用架構(gòu)相匹配。這種建議的方法就是使用TFRecords文件屎开,TFRecords文件包含了tf.train.Example 協(xié)議內(nèi)存塊(protocol buffer)(協(xié)議內(nèi)存塊包含了字段 Features)阐枣。你可以寫一段代碼獲取你的數(shù)據(jù), 將數(shù)據(jù)填入到Example協(xié)議內(nèi)存塊(protocol buffer)牍戚,將協(xié)議內(nèi)存塊序列化為一個字符串侮繁, 并且通過tf.python_io.TFRecordWriter class寫入到TFRecords文件。tensorflow/g3doc/how_tos/reading_data/convert_to_records.py就是這樣的一個例子如孝。

從TFRecords文件中讀取數(shù)據(jù)宪哩, 可以使用tf.TFRecordReader的tf.parse_single_example解析器。這個parse_single_example操作可以將Example協(xié)議內(nèi)存塊(protocol buffer)解析為張量第晰。 MNIST的例子就使用了convert_to_records 所構(gòu)建的數(shù)據(jù)锁孟。 請參看tensorflow/g3doc/how_tos/reading_data/fully_connected_reader.py, 您也可以將這個例子跟fully_connected_feed的版本加以比較。

茁瘦。品抽。。還是不會用

后來發(fā)現(xiàn)了一篇博客寫的很好甜熔,而且它添加標(biāo)簽的方法也非常巧妙:
http://blog.csdn.net/u012759136/article/details/52232266

然而不知道為啥我用jpg和jpeg的圖片時轉(zhuǎn)換都報錯了圆恤,換成png才可以

數(shù)據(jù)格式問題

好吧,基本上通過tf.train.batch后腔稀,輸入圖片的shape都會轉(zhuǎn)換成(batch_size盆昙,width,height焊虏,channels)淡喜,label是(batch,int),這兩個都是tensor诵闭。
如果我用教程里跑cifar_10的代碼跑炼团,這種格式基本上就可以了,因?yàn)樽詈筝敵龅膌ogits是類似[-1.11,2.32]的格式:

  • cross_entropy=tf.nn.sparse_softmax_cross_entropy_with_logits(logits,labels)算交叉熵
  • 最后評估的時候用tf.nn.in_top_k(logits,labels,1)選logits最大的數(shù)的索引和label比較

但是疏尿,如果用教程里跑MNIST的cnn代碼瘟芝,有很多地方要注意

  • 數(shù)據(jù)集是feed輸入的,feed的數(shù)據(jù)格式是有要求的The value of a feed cannot be a tf.Tensor object. Acceptable feed values include Python scalars, strings, lists, or numpy ndarrays
    解決:img,label = sess.run[img,label],用返回值
  • cross_entropy = -tf.reduce_sum(y_*tf.log(y_conv))算交叉熵润歉,所以label必須轉(zhuǎn)成one-hot向量
  • 原代碼通過batch=mnist.train.next_batch(50)提供數(shù)據(jù),但是tensorflow里TFRecordReader可以夠記住tfrecord的位置模狭,并且始終能返回下一個,所以不需要自己next_batch

讓他訓(xùn)練

一堆亂七八糟的錯誤踩衩,本來覺得挺坑的嚼鹉,做完了覺得簡直弱智贩汉。∶啵總之匹舞,如果程序一直停留的一個地方,既沒卡线脚,也沒報錯赐稽,那基本上就是數(shù)據(jù)沒輸進(jìn)去。浑侥。好好看下代碼現(xiàn)在run的是什么姊舵,返回值是什么,一步一步減小run的深度寓落,然后看是哪個地方漏了什么括丁,TFRecords是不是又不小心修改了,反正我被它坑了好幾次

對了伶选!

如果使用了隊(duì)列史飞,改代碼的時候千萬不能把這一句刪了,不然你什么也看不到仰税,程序又停那了
tf.train.start_queue_runners(sess=sess)

搞了三天构资,真正說的時候覺得也沒什么難的,大概這就是掌握了吧陨簇。吐绵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市河绽,隨后出現(xiàn)的幾起案子拦赠,更是在濱河造成了極大的恐慌,老刑警劉巖葵姥,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異句携,居然都是意外死亡榔幸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門矮嫉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來削咆,“玉大人,你說我怎么就攤上這事蠢笋〔ζ耄” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵昨寞,是天一觀的道長瞻惋。 經(jīng)常有香客問我厦滤,道長,這世上最難降的妖魔是什么歼狼? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任掏导,我火速辦了婚禮,結(jié)果婚禮上羽峰,老公的妹妹穿的比我還像新娘趟咆。我一直安慰自己,他們只是感情好梅屉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布值纱。 她就那樣靜靜地躺著,像睡著了一般坯汤。 火紅的嫁衣襯著肌膚如雪虐唠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天玫霎,我揣著相機(jī)與錄音凿滤,去河邊找鬼。 笑死庶近,一個胖子當(dāng)著我的面吹牛翁脆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鼻种,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼反番,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了叉钥?” 一聲冷哼從身側(cè)響起罢缸,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎投队,沒想到半個月后枫疆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敷鸦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年息楔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扒披。...
    茶點(diǎn)故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡值依,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碟案,到底是詐尸還是另有隱情愿险,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布价说,位于F島的核電站辆亏,受9級特大地震影響风秤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜褒链,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一唁情、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甫匹,春花似錦甸鸟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恍箭,卻和暖如春刻恭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扯夭。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工鳍贾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人交洗。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓骑科,卻偏偏與公主長得像,于是被迫代替她去往敵國和親构拳。 傳聞我的和親對象是個殘疾皇子咆爽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 簡單線性回歸 import tensorflow as tf import numpy # 創(chuàng)造數(shù)據(jù) x_dat...
    CAICAI0閱讀 3,542評論 0 49
  • -2017-10-11 -著:江涵小子 丁環(huán)小寶 相伴無聲皆因君 攜手互勉夢今醒 此去經(jīng)年歌所以 笙歌不...
    江涵少年閱讀 105評論 0 0
  • 在看
    文字蘇夢閱讀 145評論 0 0
  • 下午看到朋友圈裡,小甜妹發(fā)了一條感慨:今天打了一天滴滴置森,真方便斗埂!以後可以不用開車上班了。 我接著回覆說:用優(yōu)步更便...
    林素兮閱讀 316評論 11 4