ubuntu 16.04 安装 Mask_RCNN 遇到的问题集锦
源码网页(Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow): https://github.com/matterport/Mask_RCNN
看github主页的安装步骤也很简单,但自己一上手各种问题就出来了,这里主要写给自己看的,不喜勿喷,谢谢大家!
第一个坑:pip
拿到代码的第一步就是去读readme,看到作者的配置是python3.4, tensorflow 1.3, keras 2.0.8 。由于ubuntu 16.04 自带 python2.7和python3.5,也没多想,就用Python3.5了。
第一步:在终端输入:
sudo pip3 install tensorflow==1.3.
sudo pip3 install keras==2.0.
但是并不是想象的那么简单,报错了,如下:
没关系,这个一看就明白了,告诉我们pip版本太低了,也告诉我们怎么更新了,那就在终端输入
sudo pip install --upgrade pip
开始更新。
直到终端出现:

就是更新完成了。
**如果出现 ImportError:cannot import name main.的错误,只要在终端键入
sudo gedit /usr/bin/pip
将
from pip import main
if __name__ == '__main__':
sys.exit(main())
改为
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
就ok了。
**如果提示你的pip无法更新,终端输入
sudo apt-get install python3-pip
重新安装pip,再更新即可。
补充:为了以后使用方便,我将python3.5 的优先级提前。具体操作如下:
查看可替换版本:
update-alternatives --list python
提示出现 update-alternitives:errror:no alternative for python
说明python的替换版本未安装,终端输入以下命令进行安装:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.
重新输入
update-alternatives --list python
出现

就可以进行版本切换了,终端输入
sudo update-alternatives --config python
输出如下:

输入对应数字选择默认版本。
这里可以参考这位博主写的,很详细:https://blog.csdn.net/qq_42938987/article/details/83990333
第二个坑:Mask_RCNN安装
第一步:在终端输入:
sudo pip3 install tensorflow==1.3.0
sudo pip3 install keras==2.0.8
这次是没问题的,必须注意的是,这里安装TensorFlow和keras下面命令中pip后的3一定要带着,我就是一开始没带后来会有问题,又卸载重装的。
第二步:按照 Mask_RCNN Readme中的步骤安装即可。
1)安装依赖:
cd Mask_RCNN
sudo pip3 install -r requirments.txt
2) 执行setup.py 文件(要在Mask_RCNN目录下)
sudo python3 setup.py install
这里出现了一个错误是关于opencv-python的

单独安装一下opencv-python:
sudo pip3 install opencv-python
再次安装依赖:
sudo pip3 install -r requirments.txt
是不是好了?
3)安装pycocotools,依然在Mask_RCNN目录下:
git clone https://github.com/waleedka/coco.git
cd coco-master/PythonAPI
sudo make install
My god!又出错了!

幸好告诉我们应该怎么做了,安装一下python3-tk:
sudo apt-get install python3-tk
再执行一下
sudo make install
应该是可以了。
到此,Mask_RCNN安装完成,跑一个demo试试吧!
第三个坑 :python3 import cv2 与ros 冲突
运行一个demo:

这个错误是python3 无法导入cv2.so,没关系,这个很好解决,ctrl+Alt+T打开终端,输入
gedit ~/.bashrc
将ros的环境配置注释掉,如下:

重新打开终端,刷新一下
source ~/.bashrc
在Mask_RCNN下重新打开终端,记住是重新打开终端,很关键,重新运行demo,
真的成功了!
结果图:

That’s so cool!
ubuntu 16.04 安装 Mask_RCNN 遇到的问题集锦的更多相关文章
- Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2
Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2:sudo add-apt-repository ppa:team-xbmc/xbmc-nightlysudo ap ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- Ubuntu 16.04安装Matlab 2016b教程
由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...
- ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA
ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...
- ROS_Kinetic_01 在ubuntu 16.04安装ROS Kinetic 2017.01更新
ROS_Kinetic系列学习(一),在ubuntu 16.04安装ROS Kinetic. Celebrating 9 Years of ROS! ubuntu16.04已经发布半年多了,ROS的K ...
- Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)
Ubuntu 16.04安装虚拟工具VMware Tools,指的是在虚拟机VMWare安装Ubuntu 16.04后再安装VMware Tools的过程.很多人接触Linux都是从虚拟机开始,而安装 ...
- Ubuntu 16.04安装JDK(转载)
1.简单的安装方法 安装JDK的最简单方法应该就是使用apt-get来安装了,但是源一般是OpenJDK,如果需要安装Oracle的JDK这种方法就不合适了,直接跳过看下面的章节. 1.使用ctrl+ ...
- Ubuntu 16.04 安装Mysql数据库
系统环境 Ubuntu 16.04; 安装步骤 1.通过以下环境安装mysql服务端与客户端软件 sudo apt-get install mysql-server apt-get isntall m ...
随机推荐
- (十五)The Search API
Now let’s start with some simple searches. There are two basic ways to run searches: one is by sendi ...
- Ubuntu 18.04安装MySQL指南
前言 Ubuntu18.04想要安装MySQL,只能安装MySQL8.0版本.如果你直接 apt-get install mysql-server 安装,那么恭喜踩坑! 先给出彻底删除mysql5.x ...
- Linux内核入门到放弃-内核活动-《深入Linux内核架构》笔记
中断 中断类型 同步中断和异常.这些由CPU自身产生,针对当前执行的程序 异步中断.这是经典的中断类型,由外部设备产生,可能发生在任意时间. 在退出中断中,内核会检查下列事项. 调度器是否应该选择一个 ...
- SkylineGlobe7.0.1版本 通过鼠标左右平移模型对象
帮同事写了一段测试代码,如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- 玩转3D Swiper美女性感秀之思路分析总结
前言 继一次的3D魔方之后,这次利用CSS3的transform.translate.rotate.preserve-3d等结合JS的requestAnimationFrame.class带你一起玩转 ...
- PostgreSql扩展Sql-动态加载共享库(C函数)
基于 psql (PostgreSQL) 10.4 pg_language表定义了函数实现所使用的语言.主要支持了C语言和SQL语句.一些可选的语言包括pl/pgsql.tcl和perl. ligan ...
- centos7下root密码丢失解决方案
1 root密码忘记 A.[rd.break方式更改root密码!] 1.重启 CentOS 7.X,在系统引导倒计时的时候快速按键盘上的[ ↑ ]或[ ↓ ]键,使其停留在GRUB菜单界面,并按照下 ...
- linux中去掉^M的方法
转:https://blog.csdn.net/sty945/article/details/80347901 (1)是用VI的命令: 在命令模式下运行命令 :%s/^M//g 回车 注意:手动输入该 ...
- Magento2 API 服务合同设计模式 依赖注入 介绍
公共接口和API 什么是公共界面? 一个公共接口是一组代码,第三方开发者可以调用,实现或构建一个 插件 .Magento保证在没有重大版本更改的情况下,此代码在后续版本中不会更改. 模块的公共接口 标 ...
- MT【321】分类线性规划
若二次函数$f(x)=ax^2+bx+c(a,b,c>0)$有零点,则$\min\{\dfrac{b+c}{a},\dfrac{c+a}{b},\dfrac{a+b}{c}\}$ 的最大值为__ ...