<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cham_3]]></title><description><![CDATA[Luck is what happens when preparation meet opportunity.]]></description><link>https://blog.youkuaiyun.com/cham3</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cham3]]></copyright><item><title><![CDATA[[Pytorch]：自定义网络层]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/79607916</link><guid>https://blog.youkuaiyun.com/cham3/article/details/79607916</guid><author>cham3</author><pubDate>Mon, 19 Mar 2018 10:11:53 +0800</pubDate><description><![CDATA[自定义后向传播

forward() 网络层的计算操作，能够根据你的需要设置参数。 
backward() 梯度计算操作。



继承Function



class LinearFunction(Function):

    # Note that both forward and backward are @staticmethods
    @staticmethod
    # bia...]]></description><category></category></item><item><title><![CDATA[[Caffe]: HDF5Data Layer]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/79586711</link><guid>https://blog.youkuaiyun.com/cham3/article/details/79586711</guid><author>cham3</author><pubDate>Fri, 16 Mar 2018 20:51:40 +0800</pubDate><description><![CDATA[Tensorflow、Pytorch和Caffe2的相继问世后，Caffe的热度和优势已逐渐消失。 
最近，为了跑对比的实验，用到了HDF5Data层。 
遇到一些问题，写篇博客记录以下。HDF5Data Layer// Message that stores parameters used by HDF5DataLayer
message HDF5DataParameter {
  // Spec]]></description><category></category></item><item><title><![CDATA[[Caffe]:Check failed: out_num_ * inner_num_ == bottom[1]->count()]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/79582845</link><guid>https://blog.youkuaiyun.com/cham3/article/details/79582845</guid><author>cham3</author><pubDate>Fri, 16 Mar 2018 15:51:56 +0800</pubDate><description><![CDATA[错误当使用Caffe进行训练时，出现如图所示的错误。 
在网上找答案，发现有人说调换label和data的顺序。 
一直以为是调换数据层的顺序，然而，并不是。解决方法Softmax层会对输入做检测，判断第一个输入是不是网络层的输出，即NxC。 
然后再判断该输出和标签label是否对应。网上所指的data是说分类层的输出。 
对调顺序是值在SoftmaxWithLoss层进行！！！]]></description><category></category></item><item><title><![CDATA[[Latex]:Latex编写过程遇到的坑]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/79414171</link><guid>https://blog.youkuaiyun.com/cham3/article/details/79414171</guid><author>cham3</author><pubDate>Thu, 01 Mar 2018 16:23:03 +0800</pubDate><description><![CDATA[Latex 表格斜线绘制

Latex有两个包可以用来在表格上绘制斜线：\usepackage{slashbox} 和 \usepackage{diagbox}.diagbox是slashbox的代替者，具体关系不了解。

slashbox中，使用\backslashbox{}{} 就能绘制出斜线表头。

diagbox中，使用\diagbox{}{} 也能绘制出类似表头。



Latex 编号...]]></description><category></category></item><item><title><![CDATA[[Caffe]: 关于dropout的实现细节]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/77829016</link><guid>https://blog.youkuaiyun.com/cham3/article/details/77829016</guid><author>cham3</author><pubDate>Mon, 04 Sep 2017 00:06:57 +0800</pubDate><description><![CDATA[Dropout关于Dropout的博文网上很多，今晚同学问了我关于Dropout具体是怎么实现的，一时答不出来。 
然后就查看了下Caffe的源码，代码思路很清晰，很简洁。思路前向： 训练时，利用伯努利分布，随机出一个只包含0，1的mask矩阵，然后利用这个mask去对应乘上每个输入，得到的就是Dropout后的结果；测试时，Dropout并不起作用。 
后向：训练时，根据mask来求对应梯度；测试]]></description><category></category></item><item><title><![CDATA[[Pytorch]: 错误汇总]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/76132846</link><guid>https://blog.youkuaiyun.com/cham3/article/details/76132846</guid><author>cham3</author><pubDate>Wed, 26 Jul 2017 11:18:08 +0800</pubDate><description><![CDATA[关于自定义后向传播错误Traceback (most recent call last):
  File "/xxx/xxx/xxx.py", line 217, in <module>
    output = L.forward(x, label)
  File "/xxx/xxx/xxx.py", line 201, in forward
    return xxx()(input, tar]]></description><category></category></item><item><title><![CDATA[[Caffe]:关于Check failed: registry.count(type) == 0 (1 vs. 0)错误]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/72621684</link><guid>https://blog.youkuaiyun.com/cham3/article/details/72621684</guid><author>cham3</author><pubDate>Mon, 22 May 2017 10:09:34 +0800</pubDate><description><![CDATA[错误描述当我在终端下用caffe命令对带有PythonLayer的网络训练时，出现了如下错误。 
 
该错误提示Layer的卷积类型已经注册过了。为什么会出现这个错误呢？ 
其实是，博主机子上有多个Caffe版本，该版本的pycaffe接口没有被指定正确。解决方法我的一种方法是在train.sh脚本文件开头，添加指定PYTHONPATH。 
即，在train.sh文件中#train.sh
expor]]></description><category></category></item><item><title><![CDATA[[Caffe]:关于caffe新手入门]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/72141753</link><guid>https://blog.youkuaiyun.com/cham3/article/details/72141753</guid><author>cham3</author><pubDate>Mon, 15 May 2017 14:15:23 +0800</pubDate><description><![CDATA[Caffe的几个重要文件用了这么久Caffe都没好好写过一篇新手入门的博客，最近应实验室小师妹要求，打算写一篇简单、快熟入门的科普文。 
利用Caffe进行深度神经网络训练第一步需要搞懂几个重要文件：
solver.prototxt
train_val.prototxt
train.sh
接下来我们按顺序一个个说明。solver.prototxtsolver这个文件主要存放模型训练所用到的一些超参数]]></description><category></category></item><item><title><![CDATA[[Linux]:ssh远程访问内网]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/71657301</link><guid>https://blog.youkuaiyun.com/cham3/article/details/71657301</guid><author>cham3</author><pubDate>Thu, 11 May 2017 18:04:01 +0800</pubDate><description><![CDATA[ssh介绍ssh是OpenSSH SSH 客户端 (远程登录程序)。ssh的简单使用#远程访问公开IP地址,hostname填外网IP
ssh user@hostname
#通过ip映射访问内网，xxx填内网端口，hostname依然填外网IP
ssh -p xxx user@hostname:/target/path/scp的使用#向公开IP地址远程传送文件
scp files user@host]]></description><category></category></item><item><title><![CDATA[[TensorFlow]:初学TensorFlow]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/71374444</link><guid>https://blog.youkuaiyun.com/cham3/article/details/71374444</guid><author>cham3</author><pubDate>Thu, 11 May 2017 15:33:42 +0800</pubDate><description><![CDATA[前言最近GAN网络频频报出喜人的成果，奈何Caffe目前并不能很好的实现这种网络的思想。所以，博主寻思着找个好学、好用又高效的工具。Google开源的TensorFlow立刻吸引了博主的目光。网上学习材料很多，但总对着电脑屏幕实在难受，博主就入手了一本黄文坚写的《TensorFlow实战》，以求快速入门（微笑脸）。Tensorflow介绍Google在2015年11月在github上开源的分布式机器]]></description><category></category></item><item><title><![CDATA[[Caffe]:关于pycaffe的使用]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/68512056</link><guid>https://blog.youkuaiyun.com/cham3/article/details/68512056</guid><author>cham3</author><pubDate>Thu, 30 Mar 2017 21:35:04 +0800</pubDate><description><![CDATA[定制Python层当我们的网络需要多个输入数据，或者标签维度不为1时，这对于caffe提供的数据层来说是难以实现的。 
修改C++源码更使实现算法的效率大打折扣。用Python接口来实现特殊的层对于用户来说是十分高效的选择。那么如何定制自己的Python层呢？ 
确定数据层所需参数，如batch_size, source, image_shape 等
确定数据层有多少输出
声明Python层
lay]]></description><category></category></item><item><title><![CDATA[[Caffe]: 关于debug_info详解]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/67638308</link><guid>https://blog.youkuaiyun.com/cham3/article/details/67638308</guid><author>cham3</author><pubDate>Tue, 28 Mar 2017 16:29:01 +0800</pubDate><description><![CDATA[debug_info在我们使用caffe训练网络的时候发现loss值输出不正常，第一反应就是想输出各层的中间结果进行检查。 
caffe提供了一个debug_info参数作为是否输出调试信息的标志。但是，当加了这个参数，发现输出的内容让你一脸懵逼。。。像下面这张图： 
 
d第一眼，我们可以看懂，目前计算的是向前传播阶段（[Foward]），紧跟着好像是网络层名称，然后就是数据，至于是什么数据，无穷]]></description><category></category></item><item><title><![CDATA[[Python]:关于截取pdf中的某些页]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/60135490</link><guid>https://blog.youkuaiyun.com/cham3/article/details/60135490</guid><author>cham3</author><pubDate>Fri, 03 Mar 2017 11:14:33 +0800</pubDate><description><![CDATA[PyPDF2python对于处理一些日常繁琐事物来说是很便捷的，比如今天我们要说的pdf操作。 
需求如题，想从一个pdf文件中截取出指定的页面。我用的工具是py2pdf。 
首先，我们需要读取待处理pdf文件。import PyPDF2 as pdfinputfile = "/path/to/your/pdf/file"
outputfile = "/path/to/your/new/pdf/fi]]></description><category></category></item><item><title><![CDATA[[Caffe]: 关于concat layer]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/58586263</link><guid>https://blog.youkuaiyun.com/cham3/article/details/58586263</guid><author>cham3</author><pubDate>Tue, 28 Feb 2017 09:57:43 +0800</pubDate><description><![CDATA[Concat layer在Deep Neural Network中，最主要的两种提高模型性能的优化方向就是使模型wider or deeper。 
在使模型变宽时，常需要把多个分支合并起来作为后续层的输入。它就是今天要介绍的concat layer。按照惯例，我们先来看下concat layer的参数。message ConcatParameter {
  // The axis along whi]]></description><category></category></item><item><title><![CDATA[[Caffe]:关于ReLU、LeakyReLU 、PReLU layer]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/56049205</link><guid>https://blog.youkuaiyun.com/cham3/article/details/56049205</guid><author>cham3</author><pubDate>Mon, 20 Feb 2017 22:48:30 +0800</pubDate><description><![CDATA[ReLU、LeakyReLUReLU作为激活函数被广泛应用于各种深度神经网络中。在这篇博客中，我主要记录一下它和它的变种在caffe中的实现。 
先看下来自wikipedia的一张示意图，图中蓝色的线表示的就是ReLU函数。 
 
ReLU激活函数极为f(x)=max(0,x) f(x)=\max(0,x)。而LeakyReLU则是其变体f(x)=max(0,x)+negative_slope×mi]]></description><category></category></item><item><title><![CDATA[[Caffe]: 关于Scale layer]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/56015491</link><guid>https://blog.youkuaiyun.com/cham3/article/details/56015491</guid><author>cham3</author><pubDate>Mon, 20 Feb 2017 16:37:31 +0800</pubDate><description><![CDATA[Scale layercaffe源码中给出了scale层的作用，如下：/**
 * @brief Computes the elementwise product of two input Blobs, with the shape of
 *        the latter Blob "broadcast" to match the shape of the former.
 *]]></description><category></category></item><item><title><![CDATA[[Caffe]:关于 Error parsing text-format Caffe.NetParameter: xxx.xx : Expected interger or identifier.]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/55505363</link><guid>https://blog.youkuaiyun.com/cham3/article/details/55505363</guid><author>cham3</author><pubDate>Fri, 17 Feb 2017 10:39:11 +0800</pubDate><description><![CDATA[错误描述 
这是protobuf提示的一个错误。它的意思是在用户的prototxt中第xxx行，第xx 列缺少一个整型数或者标识符。解决方法检查对应的prototxt文件，在第xxx行，第xx 列是否缺漏了相应的信息。]]></description><category></category></item><item><title><![CDATA[[Caffe]: 关于make runtest error]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/55505232</link><guid>https://blog.youkuaiyun.com/cham3/article/details/55505232</guid><author>cham3</author><pubDate>Fri, 17 Feb 2017 10:31:07 +0800</pubDate><description><![CDATA[最近更新cuda8.0，重新编译caffe时出现了如下错误： 
 
该错误是由于caffe在链接的时候无法访问到libopencv_core.so.2.4这个文件。当我用locate libopencv_core.so.2.4 时发现是存在该文件的。同时，在caffe的配置文件中也是指定了查找路径的，后来发现是文件的权限问题。于是添加x 权限给该文件后，该问题解决了。]]></description><category></category></item><item><title><![CDATA[PAT 1040 Longest Symmetric String]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/9793019</link><guid>https://blog.youkuaiyun.com/cham3/article/details/9793019</guid><author>cham3</author><pubDate>Tue, 27 Dec 2016 17:18:16 +0800</pubDate><description><![CDATA[Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given "Is PAT&TAP symmetric?", the longest symmetric sub-string is "s PAT&TAP s", hence you must]]></description><category></category></item><item><title><![CDATA[[Caffe]:关于编写specific layer]]></title><link>https://blog.youkuaiyun.com/cham3/article/details/53502430</link><guid>https://blog.youkuaiyun.com/cham3/article/details/53502430</guid><author>cham3</author><pubDate>Wed, 07 Dec 2016 10:27:48 +0800</pubDate><description><![CDATA[实现 specific layer
根据标准编写specific_layer.hpp（存放在include/caffe/layers/目录下）
按照caffe标准模板编写specific_layer.cpp（存放在src/caffe/layers/目录下）
实现cuda版本，即specific_layer.cu（同上）
编写test文件
修改caffe.proto如果specific_layer需要]]></description><category></category></item></channel></rss>