• 点云分割与处理以pointnet系列为首,得到了比较好的成果,但是从pointnet++开始,作者开始在Ubuntu环境下进行网络训练,需要编写动态文件.so(包括后续的PointCNN、pointSift、ASIS、GSPN),使之很难迁移到Windows下进行。当然,点云剩余的其余算法(SGPN、DGCNN、PointGrid)可以在双系统环境下运行,不存在编译问题。
    由此以来编译时大问题,我在这里记录以下自己遇到的坑与解决方法,不敢保证都能解决。经过测试需要在Ubuntu下运行的代码经过编译均能在TensorFlow1.13.1包括及以下版本运行,TensorFlow1.14.0测试运行失败,是由于libtensorflow_framework.so.1这个文件的问题,在之前的版本都是libtensorflow_framework.so,在此版本进行了更改,故没有测试:

  • 第一、正确安装Tensorflow、Cuda、Cudnn和Python等运行环境,没有正确安装就可以skip所有以下步骤了。

  • 第二、Error1:libcudart.so.9.0: cannot open shared object file: No such file or
    directory,遇到这个问题基本说明你编译无问题,但是由于你编译制定的Cuda版本和TensorFlow运行的cuda版本不一致,需要匹配,故跳到第一步检查。

  • 第三、Error 2 series:error in NotFoundError:/home/fussen/Work_Area/02_DGASIS/utils/tf_ops/grouping/tf_grouping_so.so:
    undefined symbol:_ZN10tensorflow6StatusC1ENS_5error4CodeENS_11StringPieceE。遇到这系列问题,首先恭喜你环境安装正确,但是编译出了问题,这里需要首先指出cuda正确位置和Python正确位置(anoconda虚拟环境需要现在终端激活后运行),其次把“-D_GLIBCXX_USE_CXX11_ABI=0”这句抹掉或者0编程1,然后进行编译。基本运行不会有问题,还出现问题就按照一二步好好检查。

  • 虽然官网指出,但gcc版本大于4的时候需要设置-D_GLIBCXX_USE_CXX11_ABI=0.因为官方说明TensorFlow安装包是基于GCC4建立而且使用的是旧的ABI。对于GCC5之后的版本,为了与旧版的ABI兼容,使用“D_GLIBCXX_USE_CXX11_ABI=0". ABI兼容性可确保针官方TensorFlow软件包构建的自定义操作与GCC 5内置软件包一起使用。
    但是!!!,who kowns,兼容性方面真是这么奇葩。之前遇到问题百度和博客均没能给我提供解答,这里把点云系列都一起说明一下。希望对后续研究点云算法的有所帮助。

20200113更新
之前说1.14版本无法解决其实是 因为编译的时候链接文件为libtensorflow_framework.so, 而tensorflow1.14及之后的版本并不存在这个文件,而是libtensorflow_framework.so.1(tensorflow2.0我没有安装过,但是听说也没有那个文件)。这个问题其实很好解决,只要生成一个libtensorflow_framework.so.1的软链接就可以,不知道如何操作的可以咨询我,联系方式见我名字。

我叫谢琛,深度学习探索者一枚!(有意咨询xiec177)
tensorflow/pytorch交流群请加QQ:548368797
更多咨询咨询请关注!

关于pointnet++系列编译文件(tf_ops)的问题相关推荐

  1. PX4编译文件 Makefile 剖析

    PX4编译文件 Makefile 剖析 当我们执行 cd Firmware进入PX4源码目录, 然后make 的时候,我们会看到一串输出基本如下(第一次编译会有更多的输出) [ 2%] Built t ...

  2. PointNet系列代码复现详解(1)—PointNet分类部分

    想尽快入门点云,因此就从这个经典的点云处理神经网络开始.源码已经有了中文注释,但在一些对于自己不理解的地方添加了一些注释.欢迎大家一起讨论. 代码是来自github:GitHub - yanx27/P ...

  3. Qt / 如何解决移动了 Qt 的项目,但是 Qt 在原目录下生成编译文件的问题

    网上有人说直接删除 Qt 工程目录下的 xxx.pro.user 文件即可,本人的 Qt 版本是 14.2,删除再打开之后整个工程不能使用了,不得已又把删除的文件找回. 后来想到,该文件就是一个文本文 ...

  4. 学习ASP.NET Core Razor 编程系列十三——文件上传功能(一)

    原文:学习ASP.NET Core Razor 编程系列十三--文件上传功能(一) 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习A ...

  5. Maven精选系列--POM文件解析

    转载自 Maven精选系列--POM文件解析 之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件. maven工程的核心文件就是这个pom ...

  6. 如何编译文件(gcc + nasm)

    [0]README 编译文件(nasm + gcc),特别是编译目标文件的依赖文件:本文旨在回顾 gcc 和 nams 编译器的编译命令,以及如果有多个依赖文件该如何编译: [1]编译文件 1.1)编 ...

  7. vue项目dist编译文件部署到服务器:页面空白、F5刷新报错404、403报错、等等bug - 总结篇

    文章目录 问题一. vue编译打包dist文件之后部署到线上服务器 ,访问页面却是空白? 问题二.如果不是空白,页面F5之后就又变成空白? 以Nginx服务器为例,(如下图FTP所示) `404报错: ...

  8. linux内核模块的编译文件

    一个内核模块不是一个可以独立执行的文件,而是需要在运行时刻连接入内核的目标文件.所以,它们需要用-c 选项进行编译.而且,所有的内核模块都必须包含特定的标志: __KERNEL__--这个标志告诉头文 ...

  9. VSCode使用记录一:ubuntu 16.04下安装、编译文件、制作桌面图标和卸载

    目录 一.概述 二.下载安装 2.1 安装VSCode 2.2 安装插件 2.3 打开文件夹 三.配置文件进行编译 3.1 配置launch.json文件 3.2 配置tasks.json文件 使用m ...

  10. Ubuntu 20.04.2.0 LTS 下Geany 1.36的“编译文件”和“生成当前文件”两个按键不可用

    [问题描述] Ubuntu 20.04.2.0 LTS 下利用 sudo apt-get install geany 命令安装Geany 1.36后,利用Geany 1.36写C++语言程序后,会出现 ...

最新文章

  1. thread.sleep是让哪个线程休眠_java开发两年,这些线程知识你都不知道,你怎么涨薪?...
  2. Lamp(fastcgi)环境的搭建
  3. 人生致命的8个经典问题
  4. 魏鹏机器人_痴迷农业科技,他发明智能分拣机器人给胡萝卜照CT
  5. Scala元组数据的遍历
  6. SSL双向认证和SSL单向认证的区别
  7. 图解Java多线程设计模式
  8. win7(64,32)下JDK的安装和配置
  9. 8.10 NOIP模拟测试16 Blue+Weed+Drink
  10. c语言中常用符号,C语言中常用的符号.doc
  11. houdini 渲染wireframe
  12. 中英文计算机核心期刊目录
  13. 【后台模板】免费开源好看的后台模板
  14. 使用selenium爬取搜狗微信文章
  15. Android应用分身功能介绍
  16. facebook第三方登陆
  17. SCI英语论文长难句攻略
  18. R语言使用lm函数构建线性回归模型、使用car包中的oulierTest函数识别样本数据中可能的离群值( identify possible outliers)
  19. 什么是web app
  20. “青春树儿童摄影网”首页制作

热门文章

  1. qt4.8.6操作ppt
  2. 同是4G标准,TD和FDD谁更快?
  3. STM32F205 HAL库 RTC软件复位后不准
  4. win10更新后C盘空间变小解决方法
  5. ADS学习:谐波分析和参数扫描
  6. verilog——74X138译码器及其应用
  7. word 方框中插入对号、错号符号
  8. wcdma系统随机接入过程的流程图_随机接入过程
  9. vue2.0分页组件,
  10. 同一局域网内怎样获取新来美眉QQ号码!((*^__^*) 嘻嘻……)