- 博客(41)
- 资源 (1)
- 收藏
- 关注

原创 linux基础学习笔记(持续更新ING)
linux中的重要热键:Tab键:具有命令补全与文件名补全功能;Ctral+c :中断目前程序;Ctral+d:通常代表着键盘输入结束的意思.linux中的基础命令:man 帮助命令,对学习命令十分有用ls 列清单cd 进入目录cat 查看文件cp 复制mount 挂载文件tar 打包gz 压缩mkdir 创建目录rmdir 删除目录
2013-08-03 15:38:15
684
翻译 [Pytorch]:自定义网络层
自定义后向传播forward() 网络层的计算操作,能够根据你的需要设置参数。 backward() 梯度计算操作。继承Functionclass LinearFunction(Function): # Note that both forward and backward are @staticmethods @staticmethod # bia...
2018-03-19 10:11:53
5588
原创 [Caffe]: HDF5Data Layer
Tensorflow、Pytorch和Caffe2的相继问世后,Caffe的热度和优势已逐渐消失。 最近,为了跑对比的实验,用到了HDF5Data层。 遇到一些问题,写篇博客记录以下。HDF5Data Layer// Message that stores parameters used by HDF5DataLayermessage HDF5DataParameter { // Spec
2018-03-16 20:51:40
975
原创 [Caffe]:Check failed: out_num_ * inner_num_ == bottom[1]->count()
错误当使用Caffe进行训练时,出现如图所示的错误。 在网上找答案,发现有人说调换label和data的顺序。 一直以为是调换数据层的顺序,然而,并不是。解决方法Softmax层会对输入做检测,判断第一个输入是不是网络层的输出,即NxC。 然后再判断该输出和标签label是否对应。网上所指的data是说分类层的输出。 对调顺序是值在SoftmaxWithLoss层进行!!!
2018-03-16 15:51:56
1933
2
原创 [Latex]:Latex编写过程遇到的坑
Latex 表格斜线绘制Latex有两个包可以用来在表格上绘制斜线:\usepackage{slashbox} 和 \usepackage{diagbox}.diagbox是slashbox的代替者,具体关系不了解。slashbox中,使用\backslashbox{}{} 就能绘制出斜线表头。diagbox中,使用\diagbox{}{} 也能绘制出类似表头。Latex 编号...
2018-03-01 16:23:03
6165
原创 [Caffe]: 关于dropout的实现细节
Dropout关于Dropout的博文网上很多,今晚同学问了我关于Dropout具体是怎么实现的,一时答不出来。 然后就查看了下Caffe的源码,代码思路很清晰,很简洁。思路前向: 训练时,利用伯努利分布,随机出一个只包含0,1的mask矩阵,然后利用这个mask去对应乘上每个输入,得到的就是Dropout后的结果;测试时,Dropout并不起作用。 后向:训练时,根据mask来求对应梯度;测试
2017-09-04 00:06:57
2321
1
原创 [Pytorch]: 错误汇总
关于自定义后向传播错误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
2017-07-26 11:18:08
1942
原创 [Caffe]:关于Check failed: registry.count(type) == 0 (1 vs. 0)错误
错误描述当我在终端下用caffe命令对带有PythonLayer的网络训练时,出现了如下错误。 该错误提示Layer的卷积类型已经注册过了。为什么会出现这个错误呢? 其实是,博主机子上有多个Caffe版本,该版本的pycaffe接口没有被指定正确。解决方法我的一种方法是在train.sh脚本文件开头,添加指定PYTHONPATH。 即,在train.sh文件中#train.shexpor
2017-05-22 10:09:34
3934
原创 [Caffe]:关于caffe新手入门
Caffe的几个重要文件用了这么久Caffe都没好好写过一篇新手入门的博客,最近应实验室小师妹要求,打算写一篇简单、快熟入门的科普文。 利用Caffe进行深度神经网络训练第一步需要搞懂几个重要文件:solver.prototxttrain_val.prototxttrain.sh接下来我们按顺序一个个说明。solver.prototxtsolver这个文件主要存放模型训练所用到的一些超参数
2017-05-15 14:15:23
40958
3
原创 [Linux]:ssh远程访问内网
ssh介绍ssh是OpenSSH SSH 客户端 (远程登录程序)。ssh的简单使用#远程访问公开IP地址,hostname填外网IPssh user@hostname#通过ip映射访问内网,xxx填内网端口,hostname依然填外网IPssh -p xxx user@hostname:/target/path/scp的使用#向公开IP地址远程传送文件scp files user@host
2017-05-11 18:04:01
2240
原创 [TensorFlow]:初学TensorFlow
前言最近GAN网络频频报出喜人的成果,奈何Caffe目前并不能很好的实现这种网络的思想。所以,博主寻思着找个好学、好用又高效的工具。Google开源的TensorFlow立刻吸引了博主的目光。网上学习材料很多,但总对着电脑屏幕实在难受,博主就入手了一本黄文坚写的《TensorFlow实战》,以求快速入门(微笑脸)。Tensorflow介绍Google在2015年11月在github上开源的分布式机器
2017-05-11 15:33:42
956
原创 [Caffe]:关于pycaffe的使用
定制Python层当我们的网络需要多个输入数据,或者标签维度不为1时,这对于caffe提供的数据层来说是难以实现的。 修改C++源码更使实现算法的效率大打折扣。用Python接口来实现特殊的层对于用户来说是十分高效的选择。那么如何定制自己的Python层呢? 确定数据层所需参数,如batch_size, source, image_shape 等确定数据层有多少输出声明Python层lay
2017-03-30 21:35:04
3483
原创 [Caffe]: 关于debug_info详解
debug_info在我们使用caffe训练网络的时候发现loss值输出不正常,第一反应就是想输出各层的中间结果进行检查。 caffe提供了一个debug_info参数作为是否输出调试信息的标志。但是,当加了这个参数,发现输出的内容让你一脸懵逼。。。像下面这张图: d第一眼,我们可以看懂,目前计算的是向前传播阶段([Foward]),紧跟着好像是网络层名称,然后就是数据,至于是什么数据,无穷
2017-03-28 16:29:01
6188
原创 [Python]:关于截取pdf中的某些页
PyPDF2python对于处理一些日常繁琐事物来说是很便捷的,比如今天我们要说的pdf操作。 需求如题,想从一个pdf文件中截取出指定的页面。我用的工具是py2pdf。 首先,我们需要读取待处理pdf文件。import PyPDF2 as pdfinputfile = "/path/to/your/pdf/file"outputfile = "/path/to/your/new/pdf/fi
2017-03-03 11:14:33
3812
翻译 [Caffe]: 关于concat layer
Concat layer在Deep Neural Network中,最主要的两种提高模型性能的优化方向就是使模型wider or deeper。 在使模型变宽时,常需要把多个分支合并起来作为后续层的输入。它就是今天要介绍的concat layer。按照惯例,我们先来看下concat layer的参数。message ConcatParameter { // The axis along whi
2017-02-28 09:57:43
7104
翻译 [Caffe]:关于ReLU、LeakyReLU 、PReLU layer
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
2017-02-20 22:48:30
45931
翻译 [Caffe]: 关于Scale layer
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. *
2017-02-20 16:37:31
12211
1
原创 [Caffe]:关于 Error parsing text-format Caffe.NetParameter: xxx.xx : Expected interger or identifier.
错误描述 这是protobuf提示的一个错误。它的意思是在用户的prototxt中第xxx行,第xx 列缺少一个整型数或者标识符。解决方法检查对应的prototxt文件,在第xxx行,第xx 列是否缺漏了相应的信息。
2017-02-17 10:39:11
12192
原创 [Caffe]: 关于make runtest error
最近更新cuda8.0,重新编译caffe时出现了如下错误: 该错误是由于caffe在链接的时候无法访问到libopencv_core.so.2.4这个文件。当我用locate libopencv_core.so.2.4 时发现是存在该文件的。同时,在caffe的配置文件中也是指定了查找路径的,后来发现是文件的权限问题。于是添加x 权限给该文件后,该问题解决了。
2017-02-17 10:31:07
924
原创 PAT 1040 Longest Symmetric String
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
2016-12-27 17:18:16
501
原创 [Caffe]:关于编写specific layer
实现 specific layer根据标准编写specific_layer.hpp(存放在include/caffe/layers/目录下)按照caffe标准模板编写specific_layer.cpp(存放在src/caffe/layers/目录下)实现cuda版本,即specific_layer.cu(同上)编写test文件修改caffe.proto如果specific_layer需要
2016-12-07 10:27:48
663
翻译 [Caffe]:关于SPP Layer
SPP LayerSPP layer 是Kaiming He组在ECCV2014年的《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》这篇文章中提出的一种空间结构下采样方法。 Caffe把该网络层结构加进来自己的平台中。下面我介绍下SPP结构的内容:message SPPParameter
2016-12-01 17:33:27
3540
翻译 [Caffe]:关于Eltwise layer
Eltwise : element-wiseeltwise layer是caffe提供的按元素操作层。它支持3种基本操作: 1. PROD:按元素乘积 2. SUM:按元素求和(默认) 3. MAX:保存元素大者进行何种操作可以在layer里面通过定义EltwiseOp : x #x:=0,1,2 除此之外,该层还定义了 coeff 参数,该参数只对SUM操作起作用。 最后,ca
2016-11-28 16:45:33
14924
原创 [Caffe]:关于Check failed: shape[i] >= 0 (-2 vs. 0)错误
错误发现及分析当使用caffe训练网络的时候,出现如题错误,我们可以分析下日志,日志如下: 我们可以看出,在错误发生前生成的Top shape:64 2048 4 4 。也就是feature size是4 × 4的。然后再看看pool5对应的pooling layer的设置: 发现pooling的核大小被设置成7,这就是问题的所在了。解决方案改变输入图像的大小,可以使feature m
2016-11-21 17:12:56
6865
原创 [Caffe]:关于*** Aborted at 1479432790 (unix time) try "date -d @1479432790" 错误的另一种原因
这两天在caffe跑网络,原本的lr_policy:"step",后面更改了策略,使用lr_policy:"step"。但是却出现了如下错误:*** Aborted at 1479432790 (unix time) try "date -d @1479432790" if you are using GNU date ***PC: @ 0x7fe47645db63 caffe::SGDS
2016-11-18 10:03:35
7323
原创 [caffe]:关于调用caffe库,cmake 编译问题
前言博主这两天在编译师兄留下的工具,因为有CMakeList.txt文件很直接的就知道要用cmake来编译它.初次编译调用caffe库的文件,没有经验得直接在该目录下直接执行cmake . 天真的以为一切会顺风顺水,俗话说帅不过3秒,很快就弹出错误提示.错误和尝试 它提示说找不到CaffeConfig.cmake和caffe-config.cmkae文件,于是我就去caffe根目录下的cmake里
2016-11-11 11:34:30
5870
1
原创 [Caffe]:关于diff = 0/nan
错误提示当训练过程出现loss=87.6533时需要注意,你的网络出现问题了.你可以通过在solver.prototxt添加debug_info:true来查看训练过程. 网络上对该问题有三种解决方案: 1. label编号从0开始 2. 最后一层的output_num:自己实验数据的类别数 3. 调整base_lr
2016-11-01 17:01:04
1776
翻译 [Caffe]:关于filler type
Caffe中parameter filler的作用和类型一.作用Fillers是caffe用特定算法随机生成的值来填充网络参数在blob里面的初始值。它只作用在参数的初始化阶段,与gpu无关的操作。二.类型Constant : 令填充值x=0x = 0Uniform : 令填充值x∼U(a,b) x\sim U(a, b) Gaussian : 令填充值x=ax = a Positive
2016-10-09 11:34:11
2774
翻译 [Caffe]:关于deploy
当我们训练完一个网络模型后,就该考虑怎么使用这个辛苦训练出来的模型了。此时,我们需要修改原本用于train和val的网络结构。一、去除训练用的网络层data layer 如:layer { name: "mnist" type: "Data" top: "data" top: "label" include { phase: TRAIN
2016-09-27 17:16:10
3076
11
翻译 [Caffe]:关于lr_policy
在caffe.proto里面,有关于learning rate policy的描述,介绍了如下几种策略: // The learning rate decay policy. The currently implemented learning rate // policies are as follows: // - fixed: always return base_lr.
2016-09-23 17:32:13
2165
原创 [Ubuntu]: NVIDIA 显卡使用率
Terminal下,使用nvidia-smi命令可以显示当前显卡使用情况。 但是并不能实时的显示,所以在这里,我们用到shell循环语句来达到目的。xxx$:while(true) do nvidia-smi;sleep 1s;done;
2016-09-23 16:34:24
1089
原创 [Caffe]:convert_data_lmdb.sh error
[caffe]:convert_data_lmdb.sh error… XXXX… io.cpp:80] Could not open or find file …/0276312/065.jpg 886解决方案:检查数据图像存放的路径是否填写正确在list文件里面,图像路径与图像标签是否用空格” “分隔,’\t’分隔会出现此类错误… db_lmdb.cpp:13] Check faile
2016-09-23 09:20:27
3180
原创 [Caffe]:Caffe Installation
当前,计算机视觉研究如火如荼,Deep Learning更是被捧上神坛,要靠自己完全实现DNN是一个很困难的过程,一个好的框架显得至关重要。BVLC发布的caffe就是一个很好用的DeepLearning框架。关于caffe的安装教程网上有很多,本文主要根据自己的安装经历讲讲如何快速的安装caffe。OS:Ubuntu 14.04 LTS/ 15.04 / 16.04 LTScuda versi
2016-05-09 15:52:04
2699
原创 PAT 1003 Emergency
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the l
2015-03-03 14:30:22
572
原创 PAT 1073 Scientific Notation
#include#includeint main(){ int i,j,cnt=0,sum=0,len; char num[100000],temp[100000],sign_n,sign_e,neg='-'; scanf("%s",num);len=strlen(num); sign_n=num[0]; for(i=1,j=0;i
2015-03-01 15:19:12
584
原创 PAT 1010. Radix (25)
Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is "yes", if 6 is a decimal number and 110 is a binary number.Now for any pair of positive
2014-07-07 20:54:38
525
原创 PAT 1049 Counting Ones
The task is simple: given any positive integer N, you are supposed to count the total number of 1's in the decimal form of the integers from 1 to N. For example, given N being 12, there are five 1's i
2013-08-05 15:25:13
707
原创 [Ubuntu]:linux下root账户忘记密码怎么办
其实这个问题很简单,网络上也有一大堆的解决方法。小编之所以写这篇博文呢,主要目的是在于方便自己查阅,万一哪天忘记方法了点开自己博客就能知道怎么做。解决这个问题步骤十分简单:重启系统在菜单界面按e键进入grub编辑模式在kernel所在行再次按e键进入该行编辑状态在行末输入single后回车系统进入单用户维护模式,使用passwd命令更改密码至此,root密码更改完成。
2013-08-03 15:15:57
798
原创 PAT 1020 Tree Traversals
题目的目的是很简单明了的,就是给定一棵二叉树的后序序列和中序序列,要求我们给出层次遍历的序列。本题的关键点在于二叉树的重建和层次遍历。本题是利用后序序列和中序序列来进行二叉树的重建,参考函数如下:Node * rebuild(int *post,int *in,int len ){ if(len == 0) return NULL; //判断是否为空树
2013-08-03 14:20:45
579
原创 PAT 1004 Counting Leaves
最近刚开始做PAT的练习题,太久没敲题目,手和脑袋都生锈了.本题的题意就是要我们在family tree族谱上找出同一辈(与根节点距离相等的节点)没有child的节点个数.博主在做这道题时用的是广搜+连接表;主要注意的地方在于:输入的节点编号不一定是连续的;父节点的编号不一定小于子节点的编号;参考代码如下,大牛勿喷:#includeint main(){ int n,m,l[110]={0}
2013-08-02 12:33:26
710
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人