
深度学习
KGzhang
深度学习,机器学习,图像处理,JAVA后端
展开
-
torch.autograd方法类Variable
torch.autograd提供实现任意标量值功能的自动区分的类和功能。 它需要对现有代码进行最小的更改,只需将所有张量包装在Variable对象中。 Variable API与常规Tensor API几乎相同(除了几个需要对梯度计算的输入进行重写的in-place方法外)。在大多数情况下,Tensors可以安全地替换为Variable,代码将保持工作正常。所以,在这里只介绍有别于Tensors翻译 2017-08-23 14:24:44 · 18403 阅读 · 0 评论 -
torch.optim优化算法理解之optim.Adam()
torch.optim是一个实现了多种优化算法的包,大多数通用的方法都已支持,提供了丰富的接口调用,未来更多精炼的优化算法也将整合进来。 为了使用torch.optim,需先构造一个优化器对象Optimizer,用来保存当前的状态,并能够根据计算得到的梯度来更新参数。 要构建一个优化器optimizer,你必须给它一个可进行迭代优化的包含了所有参数(所有的参数必须是变量s)的列表。 然后,您可以翻译 2017-08-22 14:25:52 · 231213 阅读 · 13 评论 -
Conditional adversarial networks
GAN网络在训练生成模型受到了广泛的青睐,文章介绍一个具有条件限制的GAN网络,通过简单的输入数据,来构建我们所需要的条件化的生成器和判别器。文章表明,该模型可以用于学习多模态模型,通过提供了图像标记应用程序的初步示例,演示了该方法如何生成不属于训练标签的描述性标签。 生成式对抗网络近期作为训练生成模型的替代框架,以回避近似许多棘手概率计算问题的困难。 对抗网络的优点是不需要马可夫链,只需要反向翻译 2017-08-17 14:09:59 · 3785 阅读 · 0 评论 -
深度学习中30个关于数据的问题
(1)下面的数据是线性可分的嘛? 否 (2)下面哪个是通用的模型逼近器? A) Kernel SVM B) Neural Networks C) Boosted Decision Trees D) All of the above D:以上所有都可以得到一个近似的函数。 (3)下面那个问题可以用深度学习来解决? D A:蛋白质结构预测 B:化学反应的预测 C:外来原创 2017-08-03 18:09:35 · 4935 阅读 · 3 评论 -
Network In Network理解
文章提出一个全新的叫做“Network In Network”(NIN)的深度网络结构,加强了模型对接受区域(receptive field)内部块的识别能力。经典的卷积层利用线性滤波器跟着一个非线性激活函数来扫描输入,文章建立了一个结构更复杂的微型神经网络来提取接受区域内的数据,并用多层感知机(更有效的函数逼近器)来实例化这个微型神经网络。通过微型网络来强化局部模型的表达能力,可以在分类层上将全原创 2017-07-28 09:47:52 · 2885 阅读 · 0 评论 -
ubuntu16.04安装torch
第一步:从git上获取安装LuaJIT(C语言编写的Lua的解释器)和Torch所必需的依赖包:在终端执行:git clone https://github.com/torch/distro.git ~/torch --recursive在你的根目录下生成一个torch文件夹,安装文件都在里面:第二步:进入torch目录,执行:bash install-deps第三步:执行原创 2017-06-06 16:04:17 · 5468 阅读 · 0 评论 -
ubuntu下安装lua和luarocks
第一步:在 http://luarocks.org/releases/ 页面选择需要的软件包:wget http://luarocks.org/releases/luarocks-2.1.0.tar.gz我选择的是最新的软件包luarocks-2.4.2.tar.gz第二步:tar -zxvf luarocks-2.4.2.tar.gzcd luaroc原创 2017-06-06 17:04:21 · 7918 阅读 · 1 评论 -
caffe网络结构图绘制
绘制网络图通常有两种方法:一种是利用python自带的draw_net.py,首先安装两个库:sudo apt-get install graphviz;sudo pip install pydot;接下来就可以用python自带的draw_net.py文件来绘制网络图了。draw_net.py执行时带三个参数:一、网络模型的prototxt文件;二、保存的图片路径和名原创 2017-05-27 17:39:48 · 1392 阅读 · 0 评论 -
caffe中fine-tuning的那些事
caffe是一个深度学习框架,在建立好神经网络模型之后,使用大量的数据进行迭代调参数获取到一个深度学习模型caffemodel,使用这个模型可以实现我们需要的任务。 如果对caffe并不是特别熟悉的话,从头开始训练一个模型会花费很多时间和精力,需要对整个caffe框架有一个很清楚的了解,难度比较高;同时,在使用数据迭代训练自己模型时会耗费很多计算资源。对于单GPU或者没有大的GPU计算能原创 2017-05-26 17:55:30 · 3140 阅读 · 0 评论 -
用自己训练好的caffemodel来对自己的图片做分类
首先是deploy.prototxt文件的生成,deploy.prototxt和train_val.prototxt文件类似,只是头尾有些区别而已。没有了第一层的数据层,也没有最后的accuracy层(用于反向传播),但最后多了一个Softmax概率层(Softmax直接计算前向的概率),所以deploy文件没有了反向传播部分。不推荐用代码来生成,熟悉train_val.prototxt的可以原创 2017-05-24 17:40:42 · 3509 阅读 · 0 评论 -
caffe中关于train_val.prototxt和solver.prototxt设置的一些心得
train_val.prototxt首先要修改的就是mean_file和data_param里面source的路径;data层中有两个transform_param,如下图。只需要用到其中一个,当选择镜像操作时把mirror那边改为true,三个mean_value分别表示三个通道:下面的batch_size,网络原始的参数是256,我个人的显卡是GTX960,改成64出现如下情况原创 2017-05-23 10:36:28 · 3174 阅读 · 0 评论 -
caffe跑自己的数据
就从我做的一个区分人脸中戴眼镜(以下简称正样本)和不戴眼镜(以下简称负样本)的简单二分类问题开始;首先我得到的是一份正负样本各有两千四左右的数据,正样本用标签1表示,负样本用标签0表示;得到数据后首先对现有的数据进行组织,分成训练样本和测试样本(训练集:测试集=5:1),得到如下的结果:接下来对两个数据集中的图片数据运行如下代码进行重命名(需要的话可以统一图片大小),为了保持所有文原创 2017-05-22 15:38:30 · 1186 阅读 · 0 评论