之前很早以前在caffe中用过python写的loss layer,很久不用后在新的服务器上使用就各种“No module named WeightedEuclideanLossLayer2”(注:WeightedEuclideanLossLayer2.py是我的loss层 )这个问题的解决分成两大块。

1 就WeightedEuclideanLossLayer2.py文件而言

因为说“No module named WeightedEuclideanLossLayer2”所以我就一直在py文件上下功夫

Step1 make clean; make all -j8; make matcaffe -j8; make pycaffe -j8 这些个命令重头到尾执行一遍。(我以为这样就可以实现在python中import caffe了。然而并不是.....所以给后面埋了一个雷)

Step2 将WeightedEuclideanLossLayer2.py文件放到caffe中python的目录下(因为不确定还要不要放到python的子文件夹caffe/python/caffe中,因此又拷贝了一份)。同时要讲文件中sys.path.append('c:/xxxx/b.py') 对应的路径改了。

Step3 run train,然后还是报错“No module named WeightedEuclideanLossLayer2”。晕,心想着是不是还有哪里忘记拷贝文件了,就一通搜。网上说在python的系统目录下(、usr/local/lib/python2.7)要有调用的文件。可是因为权限问题,没办法复制文件过去,我查了jiao的服务器,系统目录下也没有这个文件。我对比两个服务器的caffe/python目录,发现我的服务器里没有WeightedEuclideanLossLayer2.pyc这个文件,心想着是不是这样才导致找不到module。结果手动从jiao的服务器里拷贝该文件进来也还是不行。最后像网上说的在python下import WeightedEuclideanLossLayer2看能不能找到。

结果还是不行。后来我试着import python文件夹中自带的一些py文件看行不行结果就行了。(ps:图中的pyc文件是从jiao的服务器里直接拷贝过来的,不是新生成的。)

这样就好了,会发现WeightedEuclideanLossLayer2.pyc就是新生成的了。然而这样还是不能运行caffe train。又开始在网上各种搜,反正一下午就干这事了.....

有人说要写 export $PYTHONPATH=./path/to/caffe-sl-master/python:$PYTHONPATH 。但是我又不知道在哪写。无论是在caffe目录下写还是根目录下写都不对。

都快疯了.....

2 import caffe

后来鬼使神差地在python 下试了试“import caffe”结果意外地发现结果竟然是

惊不惊喜、意不意外、喜不喜欢???!!!我以外make pycaffe后自然就可以实现import caffe了......为了解决这个问题,有搜到:“在caffe目录下 ~/.bashrc文件最后添加 export PYTHONPATH=~/caffe/python:$PYTHONPATH

最好是完整的路径/home...(你的caffe路径)/caffe/python”

具体操作是:

vim打开文件后按“I”(insert)对文件进行编辑,即在文件末尾处加上“export PYTHONPATH=/home/jiao/caffe-sl-master/python:$PYTHONPATH

export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/4.8/libgomp.so”这两行命令,然后按“Esc”推出编辑,按“:wq”保存并退出。

记住之后一定还要“source ~/.bashrc”使环境变量生效。最后就好了。

但是,当我运行caffe train时依旧是报错。原来是要关掉原先的terminal,重新开启后就可以了。问题总算是解决了。。。。。

参考帖子:http://blog.csdn.net/u010417185/article/details/53559107 (真正解决问题的)

http://blog.csdn.net/qq_36259240/article/details/77946409 (差点被误导的)

http://blog.csdn.net/striker_v/article/details/51596628

在caffe中调用python层的问题和解决方案相关推荐

  1. fortran语言和python_如何在Fortran中调用Python

    Python是机器学习领域不断增长的通用语言.拥有一些非常棒的工具包,比如scikit-learn,tensorflow和pytorch.气候模式通常是使用Fortran实现的.那么我们应该将基于Py ...

  2. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  3. 【Qt】Qt中调用python接口

    在Qt程序中调用python函数从步骤 1.在pro中添加python的头文件路径和库 INCLUDEPATH += /usr/include/python3.4 LIBS += -L /usr/li ...

  4. 在Java中调用Python

    写在前面 参考:https://www.cnblogs.com/nuccch/p/8435693.html 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然 ...

  5. c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法

    c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法 时间:2017-05-09 12:32:06阅读:234评论 ...

  6. python能在excel运行吗-用ExcelPython在Excel中调用Python

    Python部落组织翻译, 禁止转载 [介绍] ExclePython是一款轻量级的COM库,它支持你从Excel VBA中调用Python代码和运行Python 其他功能(确实任何语言都支持COM) ...

  7. excel调用python编程-如何在excel中调用python脚本

    如何在excel中调用python脚本 发布时间:2020-07-03 14:15:28 来源:亿速云 阅读:155 如何在excel中调用python脚本?针对这个问题,这篇文章详细介绍了相对应的分 ...

  8. C#中调用python方法

    最近因为项目设计,有部分使用Python脚本,因此代码中需要调用python方法. 1.首先,在c#中调用python必须安装IronPython,在  http://ironpython.codep ...

  9. c中调用python解释器

    c中调用python解释器 非常的简单, Code #include <iostream> #include <string> #include "Python.h& ...

最新文章

  1. Query理解在美团搜索中的应用
  2. 刘锋:互联网左右大脑结构与钱学森开放复杂巨系统
  3. linux操作入门,Linux基础操作
  4. 查询所有的存储过程哪些中包含某个字符串
  5. 007_SpringBoot文件上传
  6. QT打开和保存文件对话框
  7. python 的常用时间操作,取得当前时间等
  8. 台湾大学林轩田机器学习基石课程学习笔记15 -- Validation
  9. 【转】用 PHP V5 开发多任务应用程序
  10. VTK:图表之RemoveIsolatedVertices
  11. 【渝粤题库】陕西师范大学202801 中国古代文学(五) 作业
  12. JS中的预编译(词法分析)阶段和执行阶段
  13. 关于JavaScript中cookie的用法例子
  14. 没有钱的男人和有钱的男人区别在哪里?
  15. 量化策略回测BoolC
  16. Day2:360培训学习重点笔记(7.14)
  17. spring-retry重试与熔断详解—《亿级流量》内容补充
  18. java数据类型及运算符
  19. 基于 arm 设计开发工具包的 Arm Cortex-M3 处理器设计(第二章:示例微处理器组成及各个Verilog文件功能及作用)
  20. Linux内核——任务管理

热门文章

  1. 科技进步能否解决老龄化问题?
  2. CSS精灵图和字体图标及下载
  3. 计算机培训行业在阴阳五行中属于什么,医生职业五行属什么,理疗五行中属于什么行业...
  4. 计算机控制面板的知识,职称计算机WindowsXP知识点:控制面板
  5. php程序root权限,获取root权限 php执行shell
  6. AI(Adobe illustrator)绘制人物插画教程
  7. C++ VS中如何用变量初始化数组
  8. 如何在Excel中设置舍入精度
  9. 通过组策略来防治U盘病毒
  10. java 流式_Java核心教程5: 流式编程