本文希望實(shí)現(xiàn)一個(gè)簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于遙感圖像的場(chǎng)景分類 ,作為在遙感數(shù)據(jù)上進(jìn)行深度學(xué)習(xí)的入門實(shí)踐
此次實(shí)踐的主要參考資料為Kevin Xu 的 Tensorflow tutorial: Cats vs. dogs;在此表示感謝
原教程中,采用的是Kaggle 的貓狗大戰(zhàn)的競(jìng)賽數(shù)據(jù),有兩萬(wàn)多張貓狗的數(shù)據(jù)集诸老,實(shí)際上是個(gè)二分類的問(wèn)題,作為深度學(xué)習(xí)的入門再合適不過(guò)钳恕。本文希望學(xué)習(xí)這個(gè)實(shí)戰(zhàn)課程并獲得以下兩個(gè)知識(shí):
- 自制數(shù)據(jù)集的讀取
- 簡(jiǎn)單網(wǎng)絡(luò)結(jié)構(gòu)的搭建和訓(xùn)練
從文件中讀取數(shù)據(jù)
一個(gè)典型的文靜讀取管線包括下面幾個(gè)步驟
1.文件名列表
2.可配置文件的文件名亂序(shuffling)
3.可配置文件最大訓(xùn)練迭代次數(shù)(epoch limit)
4.文件名隊(duì)列
5.針對(duì)輸入文件格式的閱讀器
6.記錄解析器
7.可配置的預(yù)處理器
8.樣本隊(duì)列
依據(jù)代碼來(lái)理解上面的幾個(gè)步驟
首先我們通過(guò)一個(gè)函數(shù)get_files
來(lái)獲取文件列表
這個(gè)文件列表是從你的訓(xùn)練集中進(jìn)行讀取别伏,首先這個(gè)訓(xùn)練集應(yīng)該包含了所有的訓(xùn)練樣本圖片,圖片的命名規(guī)則按照?qǐng)D片所屬的類別進(jìn)行標(biāo)注忧额。本例子中
import tensorflow as tf
import numpy as np
import os
def get_files(file_dir):