源代碼github地址
https://github.com/abhishekrana/DeepFashion
環境:ubuntu
python2.7
問題一:直接運行./dataset_download.sh命令無法下載img.zip
解決方法:
百度網盤鏈接:
github中只用下載category and attribute那個文件夾就行了
自己從百度網盤下載然後解壓縮包,構造格式爲:
問題二:python dataset_create.py 提示沒有文件夾
解決方法:
在config.py文件中修改 fashion_dataset_path那一行,改爲
fashion_dataset_path = 'fashion_data/'
另外提示:
構造數據集時間挺長的,大概15-20min。
問題三
我們學校的服務器不能連接外網,所以不能從github上下載東西,在vgg16上出現了問題
在train文件import 位置加上
from keras.applications.vgg16 import VGG16
然後修改model那一行,把applications去掉
改爲model = VGG16(括號裏面內容不變)
這個東西無法避免,只能回去解決了,。
最後我還是先解決了服務器的上網問題,學習還是有進步的~
我們繼續
現在已經實戰到了python train.py 的地方了
可能也需要比較長的時間,我們開始計時吧,開始時間爲10:53,結束時間:10:55,出錯了,我看看是什麼問題
問題四
就是我cuda 庫的版本爲7.0 但是他的版本是7.1.4 需要更新cuda
問題
解決方法:
(1)刪除舊版本
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn
(2)註冊賬號,下載cudnn庫,下載地址,
注意千萬不要下載deb結尾的,死活安裝不上,解決不了
下載for linux的,cudnn-9.0-linux-x64-v7.1.solitairetheme8
修改結尾文件名cudnn-9.0-linux-x64-v7.1.tgz
然後直接解壓
tar zxvf cudnn-9.0-linux-x64-v7.1.tgz
然後
cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
(3)建立軟連接
sudo chmod +r libcudnn.so.7.1.4
sudo ln -sf libcudnn.so.7.1.4 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
(4)查看安裝結果
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
顯示
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 4
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
成功!
在運行python train.py 目前沒有什麼問題,希望一切順利
訓練需要挺久的,但是我下去玩了一個小時,也不太清楚具體運行了多久。
下面就到了predict 部分
運行 python predict.py 出現了新的問題
錯誤提示爲:
No such file or directory: 'dataset_prediction/crops/jeans_crop-159_0_421_252.jpg'
解決方法:
修改utils.py文件202行處代碼
img_crop.save('dataset_prediction/crops/' + img_crop_name)
爲img_crop.save('dataset_prediction/images/' + img_crop_name)
修改predict.py文件67行代碼
prediction_dataset_path='dataset_prediction/crops/'
爲
prediction_dataset_path='dataset_prediction/images/'
或者建立crops文件夾,更推薦建立文件夾。
問題五
錯誤提示爲:
IOError: Unable to open file (unable to open file: name = 'output/best-weights-011-1.3547.hdf5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)
解決方法:
修改config文件,58行
top_model_weights_path_load = 'output/best-weights-011-1.3547.hdf5'
改爲top_model_weights_path_load = 'output/best-weights-001-0.1637.hdf5' #自己查看output目錄選擇一個
問題六
ValueError: Layer #9 (named "predictions_class"), weight <tf.Variable 'predictions_class/kernel:0' shape=(256, 19) dtype=float32_ref> has shape (256, 19), but the saved weight has shape (256, 3).
解決方法
主要還是數據的問題,在將原始數據轉變爲我們所需要的數據dataset_create.py文件運行後,將原始數據轉變爲我們所需要的數據,請修改dataset_create.py第56行,category_name_generate,這是分類目標目錄。修改爲第49行即可。
重新產生數據,運行即可。
或在predict.py文件第30行,修改class_name也可以。
predict也需要很久
結果: