caffe使用点滴记录-持续更新

一、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 $PYTHONPATHmodule: 'filename'# the layer name -- the class name in the modulelayer: 'NormlizedMSE'}# set loss weight so Caffe knows this is a loss layer.# since PythonLayer inherits directly from Layer, this isn't automatically# known to Caffeloss_weight: 1
}

二、caffe关闭日志输出消息

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

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

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

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

google::ShutdownGoogleLogging(); 

**********************作者微博:黄锦池-hjimce  博客:http://blog.csdn.net/hjimce   原创文章,转载请保留本行信息********************

深度学习(四十)caffe使用点滴记录相关推荐

  1. 花书+吴恩达深度学习(十四)卷积神经网络 CNN 之经典案例(LetNet-5, AlexNet, VGG-16, ResNet, Inception Network)

    目录 0. 前言 1. LeNet-5 2. AlexNet 3. VGG-16 4. ResNet 残差网络 5. Inception Network 如果这篇文章对你有一点小小的帮助,请给个关注, ...

  2. 推荐系统遇上深度学习(三十九)-推荐系统中召回策略演进!

    推荐系统中的核心是从海量的商品库挑选合适商品最终展示给用户.由于商品库数量巨大,因此常见的推荐系统一般分为两个阶段,即召回阶段和排序阶段.召回阶段主要是从全量的商品库中得到用户可能感兴趣的一小部分候选 ...

  3. 花书+吴恩达深度学习(十九)构建模型策略(训练模型顺序、偏差方差、数据集划分、数据不匹配)

    目录 0. 前言 1. 调试模型顺序 2. 偏差方差的解决方法 3. 数据集的选取划分 4. 数据不匹配问题 5. 评估指标的选取 6. 贝叶斯最佳误差 如果这篇文章对你有一点小小的帮助,请给个关注, ...

  4. “深度学习”这十年:52篇大神级论文再现AI荣与光

    来源:新智元 本文约4100字,建议阅读6分钟 从"深度学习三巨头"到何恺明,从谷歌到MIT,52篇神级论文带大家回顾深度学习这十年. [ 导读 ]从自动驾驶到Deepfake,深 ...

  5. 深度学习未来十大趋势

    深度学习未来十大趋势 [日期:2015-12-22] 来源: 作者:张巨岩 [字体:大 中 小] 本周,我在加拿大蒙特利尔参加了NIPS(Neural Information Processing S ...

  6. 花书+吴恩达深度学习(十二)卷积神经网络 CNN 之全连接层

    目录 0. 前言 1. 全连接层(fully connected layer) 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十)卷积神经网络 CNN ...

  7. 花书+吴恩达深度学习(十)卷积神经网络 CNN 之卷积层

    目录 0. 前言 1. 2D 图像卷积 2. 3D 图像卷积 3. 过滤器(核函数) 4. 过滤器应用于边缘检测 5. padding 填充 6. stride 步长 7. 使用卷积的动机 8. 1乘 ...

  8. 知识图谱论文阅读(八)【转】推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现

    学习的博客: 推荐系统遇上深度学习(二十六)–知识图谱与推荐系统结合之DKN模型原理及实现 知识图谱特征学习的模型分类汇总 知识图谱嵌入(KGE):方法和应用的综述 论文: Knowledge Gra ...

  9. 天才制造者:独行侠、科技巨头和AI|深度学习崛起十年

    来源|The Robot Brains Podcast 翻译|沈佳丽.胡燕君.贾川 一次技术蓬勃的背后,必然需要长时间的酝酿,更离不开决定这一爆发瞬间的少数关键人物.正因有了那些特立独行的天才,他们的 ...

最新文章

  1. 详解Django中Request对象的相关用法
  2. 关于JS中的 NEW 和VAR
  3. Visual C#设计多功能关机程序
  4. 微信公众平台开发(45)食物营养及热量查询
  5. composer 安装dev包_「PHP编程」如何搭建私有Composer包仓库?
  6. React server rendering —— 网易美学主站同构实录
  7. 避免无法预知和依赖于实现环境的行为
  8. 你不可不知道的CSS水平+垂直居中方案大全
  9. Windows下 Nginx日志文件按计划时间自动分割、手动备份
  10. GCN--如何用图卷积网络在图上进行深度学习
  11. [培训-无线通信基础-6]:信道编码(分组码、卷积吗、Polar码、LDPC码、Turbo码)
  12. android killer 反编译工具,安卓反编译工具-Android Killer下载1.3.0.0 正式版-腾牛下载...
  13. Bugzilla 下载和安装
  14. java 页眉页脚_Java 添加Excel页眉页脚
  15. android 获取单个通讯录联系人信息(无权限跳转权限设置页面)
  16. libuv 的Processes
  17. 【入门】小明的幸运数
  18. 分布式事务、基于Best Efforts 1PC模式的事务
  19. Python的标识符命名规范
  20. 【855. 考场就座】

热门文章

  1. java数字转换为日期_Java 日期字符串date与数字long之间的转换
  2. 量化延时法时间测量_干货分享:直线度测量发展及几种方法详解
  3. mysql 从备份_MySQL主从备份配置
  4. uboot向linux传递输出任何log信息的方法
  5. Delphi中exit、break、continue等跳出操作的区别
  6. async和await理解代码
  7. bzoj千题计划287:bzoj1228: [SDOI2009]ED
  8. LocalDB 和Compact
  9. 如何获取一张表的字段名
  10. TFS 2010 使用手册(一)安装与配置