theanorc-程序员宅基地

技术标签: 操作系统  人工智能  c/c++  

[global]
device = cpu
floatX = float32
cxx = icpc
mode = FAST_RUN
openmp = True
openmp_elemwise_minsize = 10
allow_gc = False
#profile = True
[gcc]
cxxflags = -qopenmp -march=native -O3  -qopt-report=3 -fno-alias -qopt-prefetch=2 -fp-trap=none
[blas]
# using Intel MKL library
ldflags = -lmkl_rt
# using Intel MKLML library
# ldflags = -lmklml_intel
[mkl.nn]
#enabled = False

copy from linuxidc.

一、caffe 创建python 层

因为caffe底层是用c++编写的,所以我们有的时候想要添加某一个最新文献出来的新算法,正常的方法是直接编写c++网络层,然而这个有个前提条件是必须对caffe的底层非常熟悉,c++的编写达到一定的境界,才可灵活应用caffe,搞深度学习,走这条路对于菜鸟来说无疑很有难度。

好在caffe为我们提供了一个可以用python编写新的网络层的方法,直接用python语言编写新的网络层,然后在caffe的网络配置文件,稍作修改,就可以轻松容易创建新的网络层。其具体环境配置搭建过程如下:

1、编译caffe的时候,不能直接使用make pycaffe,而是应该使用:

WITH_PYTHON_LAYER=1 make && make pycaffe

2、编写相关的网络层文件python源码filename.py,同时需要在filename.py 编写的时候,import caffe的时候,需要指向caffe所在的路径目录

3、把python源码文件filename.py拷贝到caffe/python目录下:

caffe/python/filename.py

4、添加路径变量:

sudo vim ~/.bashrc
在最后输入

export PYTHONPATH=/home/hjimce/tools/caffenewversion/python:$PYTHONPATH
重启电脑.

5、调用的时候,引用层:

layer {
  type: 'Python'
  name: 'loss'
  top: 'loss'
  bottom: 'f2'
  bottom: 'label'
  python_param {
    # the module name -- usually the filename -- that needs to be in $PYTHONPATH
    module: 'filename'
    # the layer name -- the class name in the module
    layer: 'NormlizedMSE'
  }
  # set loss weight so Caffe knows this is a loss layer.
  # since PythonLayer inherits directly from Layer, this isn't automatically
  # known to Caffe
  loss_weight: 1
}

二、caffe关闭日志输出消息

可能对于算法实验阶段来说,我们需要caffe运行网络的时候,打印网络的相关参数消息。然而对于已经走向工程之路的caffe模型来说,我们有可能需要屏蔽那些没用的输出消息,因此这个时候就需要用到caffe的消息屏蔽。

1、在程序最开始运行地方,加入如下代码:

::google::InitGoogleLogging("hjimce"); //初始化
FLAGS_stderrthreshold = ::google::ERROR; //只打印ERROR级别信息

2、在程序结束的时候加入代码:

google::ShutdownGoogleLogging();

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安装 http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04系统下CUDA7.5配置Caffe教程 http://www.linuxidc.com/Linux/2016-07/132859.htm

Caffe在Ubuntu 14.04 64bit 下的安装 http://www.linuxidc.com/Linux/2015-07/120449.htm

深度学习框架Caffe在Ubuntu下编译安装 http://www.linuxidc.com/Linux/2016-07/133225.htm

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明 http://www.linuxidc.com/Linux/2015-04/116444.htm

Ubuntu 16.04上安装Caffe http://www.linuxidc.com/Linux/2016-08/134585.htm

Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm

转载于:https://www.cnblogs.com/Viewsky/p/7552228.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30301183/article/details/95194207

智能推荐

STM32环形串口队列程序 大数据串口收发 实时不丢包_stm32环形串口队列程序 大数据串口收发 直接编译源码-程序员宅基地

文章浏览阅读2.3k次。STM32环形串口队列程序 大数据串口收发 实时不丢包 串口程序平常产品开发中编写或移植的程序并亲自测试通过,均为工程文件格式,可直接编译使用。该程序为大数据量吞吐的串口收发例程,中断接收,边收边发,采用大数据环形队列,处理过程超快不丢包,接收buffer可以定义成2K,4K,8K均可。也可以用到其余单片机id=623063653060&..._stm32环形串口队列程序 大数据串口收发 直接编译源码

deep learning 学习资料_deep learning名言-程序员宅基地

文章浏览阅读4.5k次。注:机器学习资料篇目一共500条,篇目二开始更新希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多.此外:某些资料在中国访问需要梯子.《Brief History of Machine Learning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经网络、决策树、SVM、Adaboo_deep learning名言

在 Kubernetes 中使用 Traefik 作为入口点并将流量路由到您的应用程序服务-程序员宅基地

文章浏览阅读1k次,点赞34次,收藏17次。在 Kubernetes 中使用 Traefik 作为入口点并将流量路由到您的应用程序服务

vscode中控制台不能输入_vscode 终端无法输入问题 看这个就行了-程序员宅基地

文章浏览阅读1w次。前几天遇到了终端无法输入问题,问度娘很多都是告诉你 管理员运行什么的,博主试过好像没啥用,自己研究了一番,终于折腾半天终于是折腾好了,在这里给大家提供几种靠谱的解决方案主要是更改shell 配置:具体步骤 : 设置 =》 输入shell =》 找到 automationShell:windows =》 点击settings.json 编辑配置方法1:使用场景是: 打开终端后 命令行打印了一些配置..._vscode上下键终端不好使

python 服从正态分布下概率密度函数_用python画出正态分布的概率密度函数-程序员宅基地

文章浏览阅读1w次,点赞8次,收藏94次。python 服从正态分布下概率密度函数和累积密度函数服从正太分布下,概率密度函数公式公式解释:f(x): 是某样本(样本以数值形式表现)为某数值时发生的概率0<f(x)<1x: 是随机抽样的数值,取值范围从负无穷大到正正无穷大e: 是自然数σ: 是样本的标准差μ:是样本的算术平均值(也叫均值)对服从正太分布下,概率密度函数的理解:(1) 当自变量x=μ时,f(x..._用python画出正态分布的概率密度函数

NBT:宏基因组二、三代混合组装软件OPERA-MS_宏基因组组装软件-程序员宅基地

文章浏览阅读3k次。文章目录宏基因组二、三代测序混合组装软件OPERA-MS热心肠日报摘要主要结果图1. OPERA-MS工作流程图图2. 宏基因组数据混合组装基因组评测图3. 组装虚拟肠道微生物组图4. 移动元件和与人肠道微生物组中宿主物种的关联总结Reference相关阅读猜你喜欢写在后面宏基因组二、三代测序混合组装软件OPERA-MS混合组装宏基因组实现高精度分析人体微生物组中的抗性基因和移动元件Hyb..._宏基因组组装软件

随便推点

MySQL my.cnf 配置文件注释-程序员宅基地

文章浏览阅读83次。以下是my.cnf配置文件参数解释[client]port = 3309socket = /home/mysql/mysql/tmp/mysql.sock[mysqld]!include /home/mysql/mysql/etc/mysqld.cnf #..._mysql cnf注释

java接口回调的传值_通过 Fragment 向 Activity 传值,记住接口回调用法-程序员宅基地

文章浏览阅读209次。前言学习接口回调。通过 Fragment 向其所属 Activity 传值,利用接口回调方式,学习理解接口回调。实现过程新建工程,在 MainActivity 中初始化一个 TextView 来显示通过静态方式添加的 Fragment 中传递过来的值;Fragment 中需要一个 EditText 和一个 Button 即可。MainActivity.javapublic class MainA..._java 回调往外传值

Android 照相机权限的声明_androidmanifest定位权限和相机权限怎么声明-程序员宅基地

文章浏览阅读1.3w次。最近写项目,发现在AndroidManifest.xml中声明了调用相机权限之后,打开app无法启动相机,经过一番搜查发现:问题在于当写项目所使用的API的版本过高时(比如我所用的测试机为android 5.0,而我写这个工程所用的API为27,即android 7.0 ),导致APP无法自动向系统请求硬件调用的权限。解决方案:在activity初始化布局之后,加上如下代码即可: _androidmanifest定位权限和相机权限怎么声明

闪回归档_闪回数据归档-程序员宅基地

文章浏览阅读313次。--闪回归档 oracle 11 新增功能 --从Oracle Database 11g开始,Oracle 提供了一个这样的功能:闪回数据归档(Flashback Data Archive)。--通过这一功能Oracle数据库可以将UNDO数据进行归档,从而提供全面的历史数据查询,--也因此Oracle引入一个新的概念Oracle Total Recall,也即Oracle全面回忆功_闪回数据归档

guava冲突造成springboot+dubbo启动失败-程序员宅基地

文章浏览阅读1.2k次。报错信息:java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/Listenin..._dubbo 启动 guava

cad中拖动文字时卡顿_几十个CAD最常见操作技巧,提升出图效率杠杠的-程序员宅基地

文章浏览阅读6.7k次。CAD软件因为强大的绘图功能,很多行业都有使用。但是,用这款软件不管是高手还是初学者都会遇到各种问题。每个人因为习惯、工作环境不同,使用的方法有所区别。在这里小编给大家总结一些CAD常见的技巧及疑难杂症解决对策。1、CAD中文字如何镜像?(原始环境无法镜像)输入命令MIRRTEXT后回车,将系统默认“0”改为“1”回车,然后再用镜像命令MIRROR即可完成。2、高、低版本CAD图档快速转换高版本的..._cad鼠标拖动文字就停顿

推荐文章

热门文章

相关标签