- 博客(21)
- 收藏
- 关注
原创 Ubuntu18.04 实现Torch7安装而非Pytorch
首先说一下感触,如果没必要别装这个东西,有毒!!!我的电脑配置:CUDA10 + cudnn7.3。Torch7官网上说是这样安装的:git clone https://github.com/torch/distro.git ~/torch --recursivecd ~/torch; bash install-deps;./install.sh克隆包,然后安装依赖,接着安装。我跟...
2019-10-02 12:29:38 2140 9
原创 pytorch Dataloader 数据集加载
为节约内存,深度学习必须使用分流的方式加载数据keras 使用的是fit_generatorPytorch 使用DataLoader__len__()函数可以控制数据加载的大小;使用collate_fn得到自定义输出:注意 :(可以将一个batch的数据整合成想要的输入)...
2019-09-05 15:27:04 906
原创 GAN原理详解
GAN的基本原理其实非常简单,这里以生成图片为例进行说明。假设我们有两个网络,G(Generator)和D(Discriminator)。正如它的名字所暗示的那样,它们的功能分别是:G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1...
2019-07-26 13:22:23 2108 1
原创 Image Generation from Scene Graph
写一点看过的论文和code的感悟首先看一下论文的总体实现:我觉得这个模型与传统模型主要的两个创新点就是Graph Convolution和Cascaded Refinement NetworkGraph Convolution按论文上说,他处理scene graph 是通过graph的边来传递信息的,也就是所本来一个单词向量(obj_vecs)代表graph中的一个节点对象,但是通过图卷...
2019-04-20 14:09:20 391
原创 Pytorch 卷积中的 Input Shape
先看Pytorch中的卷积class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)二维卷积层, 输入的尺度是(N, C_in,H,W),输出尺度(N,C_out,H_out,W_out)的计算方式out(Ni,Cout...
2019-03-23 11:03:26 6823
原创 深度学习生成模型-DCGAN
原理分析DCGAN 和GAN的原理是相同的,就是DCGAN和CNN结合,用CNN更有利于图形处理。关于GAN的原理可以看一下这篇博客:GAN新手入门指南+keras&TensorFlow代码详解(WIN10)然后我们可以具体看一下model实现:实现生成器这是最简单的Keras Sequnatial模型,我们可以发现他的输入为(None, 100),而输出则是(None, 28,...
2019-03-09 09:31:30 641
原创 巧用Keras 回调函数CallBacks
keras 回调函数官方文档:https://keras-cn.readthedocs.io/en/latest/other/callbacks/主要就是包括:ModelCheckpoint:模型检测,断点恢复训练EasyStopping:提前终止TensorBoard:训练可视化ModelCheckPoint先看一下参数吧keras.callbacks.ModelCheckpo...
2019-03-07 11:37:10 883
原创 concatenate two layer in keras
合并两个layer,要求连个model的输出shape除了最后一个合并维度外都得相同。早期keras版本是使用keras.layer.Merge如下所示:Merge([a, b], mode='concat', axis=1)但是keras2,2版本是使用Concatenate()和concatenate(),分别应用于Sequatial和function API,这个可以参考官方文档。...
2019-03-07 09:26:42 187
原创 Keras TimeDistributed 详解
keras.layers.TimeDistributed(layer)这个封装器将一个层应用于输入的每个timestep。输入至少为 3D,且第一个维度应该是时间所表示的维度。考虑 32 个样本的一个 batch, 其中每个样本是 10 个 16 维向量的序列。 那么这个 batch 的输入尺寸为 (32, 10, 16), 而 input_shape 不包含样本数量的维度,为 (10, ...
2019-03-05 13:34:41 2651 1
原创 Seq2Seq with Attention
论文:官方实现:Neural Machine Translation with Attention李宏毅视频讲解:Attention based model传统的的Seq2Seq,他的Decoder 部分输入是:Encoder的ouput和state以及一个zero,如下图所示,这在翻译长文本的时候可能导致部分记忆的丢失,作为改进,大神引入了一个Attention机制。Attention...
2019-03-03 11:35:26 177
原创 tensorflow GradientTape
tensorflow 自动求导官方APIx = tf.constant(3.0)with tf.GradientTape() as g: g.watch(x) y = x * xdy_dx = g.gradient(y, x) # Will compute to 6.0上面是是对方程y=x2y=x^2y=x2的一阶求导,即(y′=2x∣x=3.0)(y' = ...
2019-02-26 15:43:03 1164
原创 tensorflow eager execution
tensorflow 1.8 的新模式模式,相对与之前默认的graph execution模式而言简直就是码农们的福音,因为使用它就可以进行调试了。import tensorflow as tftf.enable_eager_execution()x = tf.zeros((3, 3))x += 2print(x)output:tf.Tensor([[2. 2. 2.] [2....
2019-02-26 14:40:31 1134
原创 Tensor与Numpy的转换
numpy --> tensor : 直接调用tf函数即可tensor --> numpy : 调用.numpy()函数import numpy as npndarray = np.ones([3, 3])print("TensorFlow operations convert numpy arrays to Tensors automatically")tensor =...
2019-02-26 11:25:31 5354
原创 tensorflow scan()函数
上篇博客讲了theano scan(),这里主要比较他们的差别,其实这两个函数都是用来做迭代的,其实看官网API也写得很详细,也不难。官方文档tf.scan( fn, elems, initializer=None, parallel_iterations=10, back_prop=True, swap_memory=False, in...
2019-01-14 19:16:51 1791 1
原创 theano.scan()用法
我可能刚看到theano 的scan()的时候大家也是一脸懵逼,这么多参数,而且每个参数那么复杂, 这是都啥啊?theano.scan(fn, sequences=None, outputs_info=None, non_sequences=None, n_steps=None, truncate_gradient=-1, go_backwards=False, mode=None, name=...
2019-01-13 17:54:59 396
原创 RNN 原理分分析
Keras 的RNN实现有三种,分别为:SimpleRNNGRULSTM一个最简单的RNN数学公式表达就是:Yn+1=W.∗X+U.∗Yn+bY_{n+1} = W.*X + U.*Y_{n}+bYn+1=W.∗X+U.∗Yn+b我们就是要训练Trainning data的到最佳的W、U、b如果我们给定input_data.shape=(100, 32)output_...
2019-01-08 19:36:04 719 1
原创 keras 卷积原理分析
假设我们有这样一个2D卷积模型modle = Sequential()model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(150, 150, 3)))model.add(Maxpooling2D((2, 2)))model.add(Conv2D(64, (3, 3), activation='relu'))model....
2019-01-08 13:26:29 914 1
转载 隐马尔科夫HMM
案例分析首先我们看一个模型实例。假设我们有3个盒子,每个盒子里都有红色和白色两种球,这三个盒子里球的数量分别是:盒子123红球数547白球数563按照下面的方法从盒子里抽球,开始的时候,从第一个盒子抽球的概率是0.2,从第二个盒子抽球的概率是0.4,从第三个盒子抽球的概率是0.4。以这个概率抽一次球后,将球放回。然后从当前盒子转移到下一个盒子进...
2018-12-24 14:45:32 171
转载 Structured SVM
结构化学习概念Structured Linear Model主要解决上述三个问题:what does F(x,y) look like?How to solve the “arg max” problemGiven training data, how to find F(x,y)1.问题1F(x,y)=w1∗ϕ1(x,y)+w2∗ϕ2(x,y)+⋯F(x, y) = w...
2018-12-20 19:58:20 352
原创 Deep auto decoder
什么事自动编码?看一张图:解释就是将高维数据乘以一个参数矩阵(WWW)后边长一个低维code,叫做encode过程;然后将这个code乘以另一个参数矩阵(WTW^TWT)变回高维数据,即为decode;尽量使输入数据和输出数据相似。我们发现这个模型和我们的神经网络很相似,和PCA降维也很相似。在MNIST测试集上试一下:# encoding=utf-8import kerasimp...
2018-11-25 22:51:54 205
原创 t-SNE 原理分析
t-SNE(t分布随机邻域嵌入)SNE原理分析困惑度对称SNEt-SNE算法过程t-sne for 手写数字SNE原理分析核心:将欧几里得距离转换为条件概率来表达点与点之间的相似度。假设我们n个高维有数据x1,x2...xnx_1,x_2...x_nx1,x2...xn,我们需要将其降至低维,需要保证的是讲相似的点尽量聚在一起,不相似的点尽量分离。首先我们计算xix_ixi和xj...
2018-11-25 13:59:22 1838 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人