Caffe和crontab

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Caffe和crontab相关的知识,希望对你有一定的参考价值。

我试图像这样通过crontab运行python脚本

@reboot cd /root/open_nsfw/ && /usr/bin/screen -dm -L /usr/bin/python /root/open_nsfw/fn_tcp2.py

但失败的原因找不到caffe ImportError: No module named caffe

caffe.__file__给了我这个输出

/root/caffe/python/caffe/__init__.pyc

由crontab运行的sys.path的输出是

['/root/open_nsfw', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']

(没有caffe)但是来自shell

['', '/root/caffe/python', '/root/open_nsfw', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']

(caffe就在那里!)所以,我认为我有解决这个问题的所有因素,但我无法弄清楚如何!

请指教,谢谢!


编辑解决了在脚本开头添加这些行的问题

import sys
sys.path.insert(0, "/root/caffe/python/")
答案

crontab运行时,您没有在shell中设置环境变量。你只能得到最低限度。您需要在crontab脚本中明确设置PYTHONPATH以包含caffe

以上是关于Caffe和crontab的主要内容,如果未能解决你的问题,请参考以下文章

Crontab - 在目录中运行

Caffe上用SSD训练和测试自己的数据

Caffe使用新版本CUDA和CuDNN

深度学习框架之Caffe源码解析

Caffe Code Analysis-3

Caffe Code Analysis-3