Pointnet++_语义分割实践(四)_基于python3的实现

前言:最近在做一个项目,需要将pointnet++基于python3实现,尝试并成功,顺便记录下:

pointnet++的python2版本改为python3版本,需要修改以下几个方面:

  • tab和空格
    • Python中,tab和空格不能混合使用,后来python3中只允许用空格;
  • 打印
    • Python3的print后面需要加括号;
  • 整除
    • 问题:TypeError: 'float' object cannot be interpreted as an integer
    • 原因:python2和3之间的整除问题
    • 参考:https://blog.csdn.net/qq_41603898/article/details/81673599
    • 解决:也即把/改为//即可
  • pickle模块
    • 问题:UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 1: ordinal not in range(128)
    • 原因:python2和3的pickle模块,不兼容
    • 参考:https://stackoverflow.com/questions/11305790/pickle-incompatibility-of-numpy-arrays-between-python-2-and-3

    • 解决:将pickle.load(fp) 改为 pickle.load(fp, encoding='latin1')
  • xrange转化为range
    • provider.py

你可能感兴趣的:(点云,点云,深度学习)