Poly-Yolo复现

  1. 配置环境,安装所需的包(我是在Ubuntu下用conda创建虚拟环境进行运行的,最好安装官方给的版本,可以复现过程中因为版本产生的error)
    Poly-Yolo复现
  2. 根据simulator_dataset文件夹下的模板样式,准备数据集,可以用conversion_scripts文件夹下的工具将自己的数据集转换成需要的形式
    Poly-Yolo复现
    Poly-Yolo复现
  3. 运行 kmeans.py 来适应锚点
    Poly-Yolo复现
  4. 在yolo_classes.txt中定义数据集的class(因为使用的是simulator_dataset文件夹下的文件,所以我跳过了这一步)
    Poly-Yolo复现
  5. 运行poly-yolo.py ( 可以在主函数里用model.save()存储模型,需要存储为.h5文件)
    Poly-Yolo复现
  6. 在当前文件夹下创建poly_yolo_predict文件夹用于存储识别后的文件
    Poly-Yolo复现
  7. 根据poly_yolo_inference.ipynb编写test.py文件进行测试,运行后的结果会存储在poly_yolo_predict文件夹

    Poly-Yolo复现
    Poly-Yolo复现
    Poly-Yolo复现
  8. ImportError: cannot import name ‘BatchNormalization’ from ‘keras.layers.normalization’
    报错原因:版本问题。
    解决方案:将 from keras.layers.normalization import BatchNormalization 改成 from keras.layers.normalization.batch_normalization_v1 import BatchNormalization。

  9. ImportError: cannot import name ‘multi_gpu_model’ from ‘keras.utils’
    报错原因:版本问题,导致路径改变。
    解决方案:将 from keras.utils import multi_gpu_model 改成 from keras.utils.multi_gpu_utils import multi_gpu_model。
  10. AttributeError: ‘Tensor’ object has no attribute ‘_keras_shape’
    报错原因:版本问题。
    解决方案:将 _keras_shape 改为 shape。
  11. 将model.summary()导出
    解决方案:利用summary()的参数print_fn,改参数传递一个函数,默认为print,只要传递一个新的函数即可Poly-Yolo复现
    Poly-Yolo复现
    导出样例:
    Poly-Yolo复现
  12. ImportError: cannot import name ‘multi_gpu_model’ from ‘tensorflow.keras.utils’(与 2 不同,使用 2 的解决方案无法解决) 报错原因:版本问题,tensorflow版本路径改变。
    解决方案:用 from tensorflow.python.keras.utils.multi_gpu_utils import multi_gpu_model 替代 from tensorflow.keras.utils import multi_gpu_model。
  13. cv.imread()读取对象为空
    报错原因:传递的参数不对。
    解决方案:cv.imread()的第一个参数是文件命名,这里最好用绝对路径,如果使用simulator_dataset里面的simulator-train.txt,需要注意里面的line[0]只是图片名,需要加上路径os.getcwd()+”/imgs/”+line[0],还需要注意路径中不要出现中文。
    6.AttributeError: module ‘tensorflow.compat.v1’ has no attribute ‘contrib’
    报错原因: tf2中删除了contrib这个库,因此无法使用xavier_initializer()初始化。
    解决方法: 用initializer=tf.glorot_uniform_initializer() 进行替换
  14. AttributeError: ‘str’ object has no attribute ‘decode'(加载模型的时候)
    报错原因:h5py包的版本不对
    解决方法:安装了指定版本为2.10的h5py即可

Original: https://blog.csdn.net/adzt123789/article/details/124260398
Author: adzt123789
Title: Poly-Yolo复现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/682047/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球