使用mask_rcnn库,出现:_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe26detail36_typeMetaDa

使用mask_rcnn库,出现: _C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe26detail36_typeMetaDataInstance_preallocated_7E

from maskrcnn_benchmark import _C时抛出的异常

解决方法:

  1. 在importmaskrcnn的库之前多import一个torchvision
    原因:比较玄学,博主还没有搞明白
  2. 如果不work,切换到gcc5.5版本,rm -rf build重新编译,再执行1
    实测贴图:
    使用mask_rcnn库,出现:_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe26detail36_typeMetaDa

编译mask_rcnn常见问题:

  1. pytorch版本不对(或与系统cuda不一致)
  2. cuda版本与gcc版本不对应(比如cuda9.0用gcc 7.3就会出问题)
  3. gcc版本低于4.9