Mask RCNN 环境配置 内附requrements.txt

这环境折腾了四五天,终于让我玩转了。
首先默认你安装好了conda,cuda(先装visual studio),cuDNN一套,然后开始配置。
我成功跑通的环境:

  • python=3.6
  • tensorflow=1.9.0
  • keras=2.1.6

首先创建虚拟环境

conda create -n maskrcnn python=3.6

然后安装tensorflow=1.9.0和keras=2.1.6
但是这里注意一点,你是想用GPU训练还是想用CPU训练要看tensorflow的版本具体见下图。
在这里插入图片描述
所以呢,

conda search tensorflow=1.9.0 #默认安装的大概率是CPU版本
conda search tensorflow=1.9.0=gpu_py36hfdee9c2_1 # 手动指定安装GPU版本

这里如果用conda install tensorflow=1.90的话,大概率会给你安装CPU版本,我用台式机 i5 14600kf,训练了一天一夜,跑完了30个ecpoch,而我笔记本上用1650,虽然显存只有4G,但是只要1个多小时就可以跑完训练。

安装完tensorflow,再装keras(这个绝对不能装过高的版本)

conda install keras=2.1.6

装完上面的两个,下面直接用pip安装我导出的requirements,相当于整个复制了我电脑上已经能跑通的环境了。

首先,你在本地根目录下创建requirements.txt,并写入以下内容:

absl-py
alabaster==0.7.13
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
astor==0.8.1
async-generator==1.10
attrs==22.2.0
Babel==2.11.0
backcall==0.2.0
bleach==4.1.0
cached-property==1.5.2
certifi==2021.5.30
cffi==1.15.1
charset-normalizer==2.0.12
colorama==0.4.5
comm==0.1.4
coverage
cycler==0.11.0
Cython==0.29.28
dataclasses
decorator==4.4.2
defusedxml==0.7.1
docutils==0.18.1
entrypoints==0.4
gast
google-pasta==0.2.0
grpcio==1.12.1
h5py==2.10.0
idna==3.6
imageio==2.15.0
imagesize==1.4.1
imgaug==0.4.0
importlib-metadata
importlib-resources==5.4.0
ipykernel==5.5.6
ipyparallel==8.2.1
ipython==7.16.3
ipython-genutils==0.2.0
ipywidgets==7.8.1
jedi==0.17.2
Jinja2==3.0.3
jsonschema==3.2.0
jupyter-client==7.1.2
jupyter-core==4.9.2
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.1.7
Keras==2.1.6
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.2
kiwisolver==1.3.1
Markdown
MarkupSafe==2.0.1
matplotlib==3.3.4
mistune==0.8.4
# mkl-fft==1.3.0
# mkl-random==1.1.1
# mkl-service==2.3.0
nbclient==0.5.9
nbconvert==6.0.7
nbformat==5.1.3
nest-asyncio==1.6.0
networkx==2.5.1
nose==1.3.7
notebook==6.4.10
numpy==1.17.0
opencv-python==4.5.5.62
opt-einsum==3.3.0
packaging==21.3
pandocfilters==1.5.1
parso==0.7.1
pickleshare==0.7.5
Pillow==8.4.0
prometheus-client==0.17.1
prompt-toolkit==3.0.36
protobuf==3.17.2
psutil==5.9.8
pycparser==2.21
Pygments==2.14.0
pyparsing==3.1.1
pyrsistent==0.18.0
python-dateutil==2.8.2
pytz==2024.1
PyWavelets==1.1.1
pywin32==305
pywinpty==1.1.6
PyYAML==6.0.1
pyzmq==25.1.2
qtconsole==5.2.2
QtPy==2.0.1
requests==2.27.1
scikit-image==0.17.2
scipy==1.2.1
Send2Trash==1.8.2
Shapely==1.8.5.post1
six
snowballstemmer==2.2.0
Sphinx==5.3.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
#tensorboard==1.15.0
tensorflow==1.9.0
tensorflow-estimator==1.15.1
#tensorflow-gpu==1.15.0
termcolor==1.1.0
terminado==0.12.1
testpath==0.6.0
tifffile==2020.9.3
tornado==6.1
tqdm==4.64.1
traitlets==4.3.3
typing_extensions
urllib3==1.26.18
wcwidth==0.2.13
webencodings==0.5.1
Werkzeug
widgetsnbextension==3.6.6
wincertstore==0.2
wrapt==1.16.0
zipp

然后

pip install -r requirements.txt

安装完毕之后,就可以尝试运行了

python samples/balloon/balloon.py train --dataset=balloon --weights=mask_rcnn_balloon.h5

成功开始训练时,控制台会输出如下信息:
在这里插入图片描述
每完成一个epoch,就会在log目录下生成一个.h5文件
在这里插入图片描述
训练完成后可以进行测试一下
我这里用这张图片进行测试
在这里插入图片描述
(有人认识这是啥吗,这是奥特曼中一贯的彩蛋,气球与小女孩哈哈哈)
运行命令

python samples/balloon/balloon.py splash --weights=logs\balloon20240219T2006\mask_rcnn_balloon_0013.h5 --image=images\Tiga_2.png

在这里插入图片描述
运行结果就是这样,效果还不错。

还有个坑就是,用GPU训练的时候可能会卡在epoch 1

卡在epoch 1,然后等一会可能就会报错,期间你的显存是被拉满的。
我在寻找解决方法时,在ballon.py中看到了这个:
在这里插入图片描述
官方是在一块12GB的GPU上训练的,我的1650 只有4GB,我猜可能是因为太小了,并且官方也提示可以改小一点。于是我将原来的IMAGES_PER_GPU=2改为了图中的IMAGES_PER_GPU=1,然后在我的笔记本上就成功跑通了。
但是这个方法,在我的台式机上(4090)上面却没有起作用,如果有大佬知道为何,请不吝赐教。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值