1. 程式人生 > >教程 | 貓狗識別 - AI圖片分類的樣例

教程 | 貓狗識別 - AI圖片分類的樣例

貓狗識別 - AI圖片分類的樣例

更多專案請檢視 https://www.flyai.com

專案官方網址

該資料有貓和狗兩類圖片,一共有25000張圖片,貓狗各佔一半,可以用來做圖片分類的入門資料。


樣例程式碼說明

app.yaml

是專案的配置檔案,專案目錄下必須存在這個檔案,是專案執行的依賴。

processor.py

樣例程式碼中已做簡單實現,可供查考。

處理資料的輸入輸出檔案,把通過csv檔案返回的資料,處理成能讓程式識別、訓練的矩陣。

可以自己定義輸入輸出的方法名,在app.yaml

中宣告即可。

    def input_x(self, image_path):
        '''
        引數為csv中作為輸入x的一條資料,會被Dataset類中的next_batch()方法多次呼叫。
        :params: 輸入的資料列表
        :return: 返回矩陣
        '''
        pass

    def input_y(self, label):
        '''
        引數為csv中作為輸入y的一條資料,會被Dataset類中的next_batch()方法多次呼叫。
        :params: 資料標籤列表
        :return: 返回矩陣
        '''
pass def output_y(self, data): ''' 驗證時使用,把模型輸出的y轉為對應的結果 :param data: 預測返回的資料 :return: 返回預測的標籤 ''' pass
main.py

樣例程式碼中已做簡單實現,可供查考。

程式入口,編寫演算法,訓練模型的檔案。在該檔案中實現自己的演算法。

通過dataset.py中的next_batch方法獲取訓練和測試資料。

# 資料獲取輔助類
dataset =
Dataset() x_train, y_train, x_test, y_test = dataset.next_batch(BATCH)

通過model.py中的save_model方法儲存模型

# 模型操作輔助類
model = Model(dataset)
model.save_model(YOU_NET)

如果使用PyTorch框架,需要在net.py檔案中實現網路。其它用法同上。

model.py

樣例程式碼中已做簡單實現,可供查考。

訓練好模型之後可以繼承flyai.model.base包中的base重寫下面三個方法實現模型的儲存、驗證和使用。

   def predict(self, path, name, **data):
        '''
        使用模型
        :param path: 模型所在的路徑
        :param name: 模型的名字
        :param data: 模型的輸入的一個或多個引數
        :return: 
        '''
        pass

    def evaluate(self, path, name):
        '''
        驗證模型
        :param path: 模型的路徑
        :param name: 模型的名字
        :return: 返回驗證的準確率
        '''
        pass

    def save_model(self, network, path=MODEL_PATH, name=MODEL_NAME, overwrite=False):
        '''
        儲存模型
        :param network: 訓練模型的網路
        :param path: 要儲存模型的路徑
        :param name: 要儲存模型的名字
        :param overwrite: 是否覆蓋當前模型
        :return:
        '''
        self.check(path, overwrite)

predict.py

樣例程式碼中已做簡單實現,可供查考。

對訓練完成的模型使用和預測。

path.py

可以設定資料檔案、模型檔案的存放路徑。

dataset.py

該檔案在FlyAI開源庫flyai.dataset包中,通過next_batch(BATCH)方法獲得x_train y_train x_test y_test資料。

FlyAI開源庫可以通過pip3 install -i https://pypi.flyai.com/simple flyai 安裝。


FlyaI終端命令

1. 下載專案並解壓
2. 使用終端進入到專案的根目錄下

cd /path/to/project

3. 初始化環境並登入

給flyai授權,在終端下執行chmod +x ./flyai

在終端下執行 ./flyai init ,下載完成之後,使用微信掃碼登入。

登入成功之後,會自動下載執行所需環境。

4. 本地開發除錯

在終端下執行 ./flyai test ,會安裝專案所需依賴,並執行 main.py


如果使用本地IDE開發,可以自行安裝 requirements.txt 中的依賴,執行main.py即可。

5.提交訓練到GPU

專案中如果有新的引用,需要加入到 requirements.txt 檔案中。

在終端下執行 ./flyai train 返回sucess狀態,代表提交離線訓練成功。

訓練結束會以微信和郵件的形式傳送通知,訓練結果可在通知中檢視。


FlyAI全球人工智慧專業開發平臺,一站式服務平臺

掃描下方二維碼,及時獲取FlyAI最新訊息,搶先體驗最新功能。

GPL LICENSE