目录
问题1:这边遇到一个问题,找不到fashion_data 数据文件夹,需要在config.py中修改一下代码
问题2: AttributeError: 'generator' object has no attribute 'next'
问题1:TypeError: write() argument must be str, not bytes
问题二:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x93 in position 0: invalid start byte
问题一:在data_prediction并无crops文件夹,需要自己创建
问题五:OSError: cannot open resource
准备工作
注意:这篇博客仅仅是对上传到github上的他人作品的调试。是在linux 系统的服务器上的调试,windows上请注意路径问题。windows上我简单的跑了一次,windows10+pycharm。也能实现,可能我机子较渣,耗时较长。
路径问题,将config.py文件中的文件夹str,名字后加“/”。不然容易报no such file 错误。
注:网址是github上的他人传的代码
注:上面DeepFashion代码,基于linnux系统下,windows下,我尝试过,主要修改地区在后面windows备注。不过大体不差
执行步骤
最好将github上copy下来的文件名字改为DeepFashion_master,不然可能之后运行出错。
打开README.MD
配置环境
python安装
tensorflow-gpu安装
keras-安装
文件内部含有一个requirements.txt文件,里面详细列举了需要安装的库,倘若你用README.MD上的步骤,那么你需要你的python版本为python2.7,不然,你会报错。如果你是pyton3版本的,那么请将requirements.txt里面的内容更改下,选则正确的版本及内容
下载数据文件
文件dataset_download.sh
你可以用./dataset_download.sh或者sh dataset_download.sh的形式进行编译
--2018-10-31 15:01:04-- (尝试次数: 3) https://www.dropbox.com/sh/ryl8efwispnjw21/AABpzYsttt7DIQmb2PckgbPXa/Anno/list_attr_cloth.txt?dl=0
正在连接 www.dropbox.com (www.dropbox.com)|31.13.85.16|:443... 失败:连接超时。
重试中。
可能会有这样的出现这样的情况,考虑用自己下载好的数据。
DeepFashion数据集 密码:vs11
构建数据
在ubuntu中编译,在编译文件所在文件夹下 python3 dataset_create.py即可,即构建训练集和测试集
问题1:这边遇到一个问题,找不到fashion_data 数据文件夹,需要在config.py中修改一下代码
#dataset_src_path='fashion_data'
fashion_dataset_path='fashion_data/'#修改处
dataset_train_info=os.path.join(dataset_train_path, 'train_info.txt')
dataset_val_info=os.path.join(dataset_val_path, 'val_info.txt')
top_model_weights_path_save = 'output/bottleneck_fc_model.h5'
即找到fashion_data在当前文件夹下的fashion_data,这是相对路径的改法,注意,‘/fashion_data/’这样子写,会误导系统在根目录下找,前面不要加‘/’。
问题2: AttributeError: 'generator' object has no attribute 'next'
在python2.x中,generator函数中的next函数
g.next()
但在python3中修改为
g.__next__()
问题三:ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[32,64,224,224] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
方案:网络上据说是因为有其他模型再跑,跑崩了。我试着再跑一次。
训练
问题一:TypeError: write() argument must be str, not bytes
修改一:版本