在做 https://github.com/matterport/Mask_RCNN 的复现。
在复现train_shpes时,在heads层训练时,卡在了Epoch 1/1。我观察下gpu和cpu,都没有工作
我在停止代码运行时发现停在了
File "", line 1, in
runfile('D:/py/Mask_RCNN-master/samples/shapes/train_shapes.py', wdir='D:/py/Mask_RCNN-master/samples/shapes')
File "D:\anaconda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "D:\anaconda\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "D:/py/Mask_RCNN-master/samples/shapes/train_shapes.py", line 258, in
layers='heads')
File "D:\py\Mask_RCNN-master\mrcnn\model.py", line 2352, in train
use_multiprocessing=True,
File "D:\anaconda\envs\tensorflow\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "D:\anaconda\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 2011, in fit_generator
generator_output = next(output_generator)
File "D:\anaconda\envs\tensorflow\lib\site-packages\keras\utils\data_utils.py", line 644, in get
time.sleep(self.wait_time)
有大佬知道怎么解决吗,或者有谁出现了相同的问题吗??
问题总算解决了。细看了一下代码,keras在windows下进行多线程处理的时,会有问题。我在查看model.py中train函数时,发现作者已经注释了
Keras fails on Windows when using multiprocessing workers.
这是在windows系统下会出现的问题,虽然我的程序没有报错。
之前因为将keras升级到2.2.0,导致keras版本过高出现了一些问题,按之前别人的方法偷懒将keras降到了2.0.8.
具体问题https://blog.csdn.net/u014513323/article/details/80659352
后来我将keras升级到2.1.6,程序挂起的问题就解决了。
如果你想用keras2.2.0版 只需要将model.py中 topology替换成saving就行了。
刚遇到这个问题,程序卡在第一个epoch无法开始训练,或者有时训练了一会就卡住,后来发现是版本问题,目前使用keras-gpu2.1.2,tensorflow-gpu1.14.0,程序正常运行,
另外提醒大家开始训练后可以通过任务管理器查看GPU的占用情况,如果只占了显存其他都没占用说明GPU肯定是没有算起来的,考虑是版本问题。
你错误信息复制全了吗?它怎么只printstack没有给出错误的类型
看了一眼github,似乎有订制的lhs
订制的lhs指的是lhs不是常量
我把keras装成2.1.6之后,报错 softmax()got an expected keyword argument ‘axis’,网上说2.1.6中没有这个参数了。
用2.2.0提示也是这个问题。
所以lz用的keras2.1.6就好使吗?我用linux也是2.1.6,跑例程就训练的很快,但是换成自己的数据集也卡在epoch1/40了。。。lz大大有没有建议呀。。。