將imagenet2012數(shù)據(jù)為tensorflow的tfrecords格式并跑驗(yàn)證的詳細(xì)過程
下載tensorflow的代碼
地址:
https://github.com/tensorflow/models.git
然后進(jìn)入目錄:
cd models/research/slim/datasets/
下載Imagenet2012數(shù)據(jù)集
可以到官網(wǎng)注冊(cè)下載,或者:
我這里把數(shù)據(jù)放到了tensorflow路徑下:
./models/research/slim/datasets/imagenet2012
models也就是上邊下載的tensorflow代碼的路徑,imagenet2012是自己創(chuàng)建的目錄,然后下載完后:
紅色的是我要用的數(shù)據(jù)集,本身我的目的是要做評(píng)估,應(yīng)該用不到ILSVRC2012_bbox_train_v2.tar,但是轉(zhuǎn)數(shù)據(jù)的時(shí)候報(bào)找不到某些文件,因此也加上了它,后綴V3 V2代表不同的任務(wù)。
藍(lán)色的需要先創(chuàng)建一下目錄后續(xù)解壓數(shù)據(jù)集要用到。
處理數(shù)據(jù)參考的是華為的文檔:
https://support.huawei.com/enterprise/zh/doc/EDOC1100191905/a8d9a8a2
可以準(zhǔn)備一個(gè)解壓腳本,解壓到對(duì)應(yīng)目錄:
#!/bin/bash # mkdir -p train val bbox imagenet_tf tar -xvf ILSVRC2012_img_train.tar -C train/ tar -xvf ILSVRC2012_img_val.tar -C val/ tar -xvf ILSVRC2012_bbox_train_v2.tar -C bbox/ tar -xvf ILSVRC2012_bbox_val_v3.tgz -C bbox/
轉(zhuǎn)換
先上腳本,然后說一下執(zhí)行前如何修改腳本里用到的python文件的內(nèi)容。
python preprocess_imagenet_validation_data.py ./imagenet2012/val/ imagenet_2012_validation_synset_labels.txt python process_bounding_boxes.py ./imagenet2012/bbox/ imagenet_lsvrc_2015_synsets.txt | sort > imagenet_2012_bounding_boxes.csv python build_imagenet_data.py --output_directory=./imagenet2012/imagenet_tf --validation_directory=./imagenet2012/val
三個(gè)腳本均在 ./models/research/slim/datasets 目錄下,我們知道tensorflow本身跨版本之前的代碼有很大的區(qū)別,像 build_imagenet_data.py 等大多數(shù)腳本已經(jīng)是2年前的了,現(xiàn)在的好多新的環(huán)境,比如python3中,直接執(zhí)行會(huì)報(bào)很多錯(cuò)誤,看下怎么改,參考:
第一個(gè)改成自己的數(shù)據(jù)路徑:
藍(lán)色改成自己對(duì)應(yīng)的紅色:
可以看到train 數(shù)據(jù)路徑和 output的路徑都和val路徑一樣,否則找不到 n01440764 ,這里我覺得我的數(shù)據(jù)還是有問題。
第二個(gè)修改range的返回類型
大概500行左右:
# 原來 shuffled_index = range(len(filenames)) ,加list()改為以下: shuffled_index = list(range(len(filenames)))
修改bytes
藍(lán)色改為紅色,綠色很多網(wǎng)友說要改,但是我這里改了反而報(bào)錯(cuò)。
讀寫方式調(diào)整
藍(lán)色改為紅色:
匹配python3
加判斷:
然后就可以轉(zhuǎn)換了,結(jié)果是:
跑一下驗(yàn)證
python eval_image_classifier.py \ --checkpoint_path='./weights' \ --eval_dir='./log/' \ --dataset_name=imagenet \ --dataset_split_name=validation \ --dataset_dir='./datasets/imagenet2012/imagenet_tf/' \ --model_name=resnet_v1_50
參數(shù) | 解釋 |
---|---|
checkpoint_path | 參數(shù)可以接收目錄路徑或者文件路徑。如果是一個(gè)目錄路徑,則會(huì)查找這個(gè)目錄下最新的模型 |
eval_dir | 執(zhí)行結(jié)果日志的保存目錄 |
dataset_name | 我這里是imagenet,需要對(duì)應(yīng)任務(wù)數(shù)據(jù)集 |
dataset_split_name | 指定需要執(zhí)行的數(shù)據(jù)集。注意此處是使用驗(yàn)證集( validation )執(zhí)行驗(yàn)證 |
dataset_dir | tfrecords數(shù)據(jù)位置 |
model_name | 模型的名稱,對(duì)應(yīng)checkpoint_path 路徑下的 |
執(zhí)行后會(huì)打印出如下內(nèi)容:
eval/Accuracy[0.51]
eval/Recall_5[0.973333336]
Accuracy表示模型的分類準(zhǔn)確率,Recall_5表示前5次的準(zhǔn)確率
到此這篇關(guān)于將imagenet2012數(shù)據(jù)為tensorflow的tfrecords格式并跑驗(yàn)證的文章就介紹到這了,更多相關(guān)tensorflow imagenet2012數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python+gdal+遙感圖像拼接(mosaic)的實(shí)例
這篇文章主要介紹了python+gdal+遙感圖像拼接(mosaic)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03解決Pandas生成Excel時(shí)的sheet問題的方法總結(jié)
估計(jì)有不少小伙伴在將 DataFrame導(dǎo)入到Excel的時(shí)候,遇到過下面這種尷尬的情況:想給一個(gè)現(xiàn)有的Excel文件追加一個(gè)sheet,結(jié)果發(fā)現(xiàn)其它的sheet都沒了等,本文就來告訴你如何解決這些問題2022-08-08Win10下用Anaconda安裝TensorFlow(圖文教程)
這篇文章主要介紹了Win10下用Anaconda安裝TensorFlow(圖文教程),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06python HTTPX庫實(shí)現(xiàn)同步異步請(qǐng)求用法示例
這篇文章主要為大家介紹了python HTTPX庫實(shí)現(xiàn)同步異步請(qǐng)求用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python實(shí)現(xiàn)刪除排序數(shù)組中重復(fù)項(xiàng)的兩種方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)刪除排序數(shù)組中重復(fù)項(xiàng)的兩種方法,涉及Python數(shù)組元素的遍歷、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01