自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cham_3

Luck is what happens when preparation meet opportunity.

  • 博客(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 642

翻译 [Pytorch]:自定义网络层

自定义后向传播forward() 网络层的计算操作,能够根据你的需要设置参数。 backward() 梯度计算操作。继承Functionclass LinearFunction(Function): # Note that both forward and backward are @staticmethods @staticmethod # bia...

2018-03-19 10:11:53 5495

原创 [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 910

原创 [Caffe]:Check failed: out_num_ * inner_num_ == bottom[1]->count()

错误当使用Caffe进行训练时,出现如图所示的错误。 在网上找答案,发现有人说调换label和data的顺序。 一直以为是调换数据层的顺序,然而,并不是。解决方法Softmax层会对输入做检测,判断第一个输入是不是网络层的输出,即NxC。 然后再判断该输出和标签label是否对应。网上所指的data是说分类层的输出。 对调顺序是值在SoftmaxWithLoss层进行!!!

2018-03-16 15:51:56 1858 5

原创 [Latex]:Latex编写过程遇到的坑

Latex 表格斜线绘制Latex有两个包可以用来在表格上绘制斜线:\usepackage{slashbox} 和 \usepackage{diagbox}.diagbox是slashbox的代替者,具体关系不了解。slashbox中,使用\backslashbox{}{} 就能绘制出斜线表头。diagbox中,使用\diagbox{}{} 也能绘制出类似表头。Latex 编号...

2018-03-01 16:23:03 5893

原创 [Caffe]: 关于dropout的实现细节

Dropout关于Dropout的博文网上很多,今晚同学问了我关于Dropout具体是怎么实现的,一时答不出来。 然后就查看了下Caffe的源码,代码思路很清晰,很简洁。思路前向: 训练时,利用伯努利分布,随机出一个只包含0,1的mask矩阵,然后利用这个mask去对应乘上每个输入,得到的就是Dropout后的结果;测试时,Dropout并不起作用。 后向:训练时,根据mask来求对应梯度;测试

2017-09-04 00:06:57 2266 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 1869

原创 [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 3883

原创 [Caffe]:关于caffe新手入门

Caffe的几个重要文件用了这么久Caffe都没好好写过一篇新手入门的博客,最近应实验室小师妹要求,打算写一篇简单、快熟入门的科普文。 利用Caffe进行深度神经网络训练第一步需要搞懂几个重要文件:solver.prototxttrain_val.prototxttrain.sh接下来我们按顺序一个个说明。solver.prototxtsolver这个文件主要存放模型训练所用到的一些超参数

2017-05-15 14:15:23 39245 5

原创 [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 2166

原创 [TensorFlow]:初学TensorFlow

前言最近GAN网络频频报出喜人的成果,奈何Caffe目前并不能很好的实现这种网络的思想。所以,博主寻思着找个好学、好用又高效的工具。Google开源的TensorFlow立刻吸引了博主的目光。网上学习材料很多,但总对着电脑屏幕实在难受,博主就入手了一本黄文坚写的《TensorFlow实战》,以求快速入门(微笑脸)。Tensorflow介绍Google在2015年11月在github上开源的分布式机器

2017-05-11 15:33:42 862

原创 [Caffe]:关于pycaffe的使用

定制Python层当我们的网络需要多个输入数据,或者标签维度不为1时,这对于caffe提供的数据层来说是难以实现的。 修改C++源码更使实现算法的效率大打折扣。用Python接口来实现特殊的层对于用户来说是十分高效的选择。那么如何定制自己的Python层呢? 确定数据层所需参数,如batch_size, source, image_shape 等确定数据层有多少输出声明Python层lay

2017-03-30 21:35:04 3411 2

原创 [Caffe]: 关于debug_info详解

debug_info在我们使用caffe训练网络的时候发现loss值输出不正常,第一反应就是想输出各层的中间结果进行检查。 caffe提供了一个debug_info参数作为是否输出调试信息的标志。但是,当加了这个参数,发现输出的内容让你一脸懵逼。。。像下面这张图: d第一眼,我们可以看懂,目前计算的是向前传播阶段([Foward]),紧跟着好像是网络层名称,然后就是数据,至于是什么数据,无穷

2017-03-28 16:29:01 6024

原创 [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 3711

翻译 [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 6997

翻译 [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 45750

翻译 [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 12122 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 12089

原创 [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 877

原创 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 444

原创 [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 605

翻译 [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 3477

翻译 [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 14833

原创 [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 6748

原创 [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 7178 1

原创 [caffe]:关于调用caffe库,cmake 编译问题

前言博主这两天在编译师兄留下的工具,因为有CMakeList.txt文件很直接的就知道要用cmake来编译它.初次编译调用caffe库的文件,没有经验得直接在该目录下直接执行cmake . 天真的以为一切会顺风顺水,俗话说帅不过3秒,很快就弹出错误提示.错误和尝试 它提示说找不到CaffeConfig.cmake和caffe-config.cmkae文件,于是我就去caffe根目录下的cmake里

2016-11-11 11:34:30 5757 3

原创 [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 1738

翻译 [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 2675

翻译 [Caffe]:关于deploy

当我们训练完一个网络模型后,就该考虑怎么使用这个辛苦训练出来的模型了。此时,我们需要修改原本用于train和val的网络结构。一、去除训练用的网络层data layer 如:layer { name: "mnist" type: "Data" top: "data" top: "label" include { phase: TRAIN

2016-09-27 17:16:10 2999 14

翻译 [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 2061

原创 [Ubuntu]: NVIDIA 显卡使用率

Terminal下,使用nvidia-smi命令可以显示当前显卡使用情况。 但是并不能实时的显示,所以在这里,我们用到shell循环语句来达到目的。xxx$:while(true) do nvidia-smi;sleep 1s;done;

2016-09-23 16:34:24 1020

原创 [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 3127 3

原创 [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 2606

原创 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 526

原创 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 537

原创 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 496

原创 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 670

原创 [Ubuntu]:linux下root账户忘记密码怎么办

其实这个问题很简单,网络上也有一大堆的解决方法。小编之所以写这篇博文呢,主要目的是在于方便自己查阅,万一哪天忘记方法了点开自己博客就能知道怎么做。解决这个问题步骤十分简单:重启系统在菜单界面按e键进入grub编辑模式在kernel所在行再次按e键进入该行编辑状态在行末输入single后回车系统进入单用户维护模式,使用passwd命令更改密码至此,root密码更改完成。

2013-08-03 15:15:57 761

原创 PAT 1020 Tree Traversals

题目的目的是很简单明了的,就是给定一棵二叉树的后序序列和中序序列,要求我们给出层次遍历的序列。本题的关键点在于二叉树的重建和层次遍历。本题是利用后序序列和中序序列来进行二叉树的重建,参考函数如下:Node * rebuild(int *post,int *in,int len ){ if(len == 0) return NULL; //判断是否为空树

2013-08-03 14:20:45 545

原创 PAT 1004 Counting Leaves

最近刚开始做PAT的练习题,太久没敲题目,手和脑袋都生锈了.本题的题意就是要我们在family tree族谱上找出同一辈(与根节点距离相等的节点)没有child的节点个数.博主在做这道题时用的是广搜+连接表;主要注意的地方在于:输入的节点编号不一定是连续的;父节点的编号不一定小于子节点的编号;参考代码如下,大牛勿喷:#includeint main(){ int n,m,l[110]={0}

2013-08-02 12:33:26 660

中级网络工程师历年卷

中级网络工程师历年卷

2013-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除