![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
DX_dove
致力于计算机视觉的开发。
展开
-
关于tensorflow中tf.app.run()的描述
http://blog.csdn.net/leiting_imecas/article/details/72367937, http://blog.csdn.net/m0_37041325/article/details/77448971 参考这两个国内链接转载 2018-03-18 15:07:36 · 612 阅读 · 0 评论 -
conda配置下载镜像源头
命令行:# 优先使用清华conda镜像conda config --prepend channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/# 也可选用科大conda镜像conda config --prepend channels http://mirrors.ustc.edu.cn/anaconda/pkgs/...转载 2018-10-16 22:06:03 · 3591 阅读 · 0 评论 -
Pytorch的pre-train函数模型或者旧的模型的引用及修改(增减网络层,修改某层参数等) finetune微调
对于想直接用已有的网络模型,只是增加,减少或者修改某几层,可以参考下面两篇博客.介绍了两种方法:1.常用的方法,好理解:https://blog.csdn.net/qq_27292549/article/details/78937786?utm_source=blogxgwz12.比较高端,但是代码简洁,高效:https://blog.csdn.net/whut_ldz/article/d...转载 2018-10-22 22:39:02 · 2642 阅读 · 0 评论 -
反卷积和卷积的输出和输入尺寸关系
1.反卷积:利用反卷积求输出尺寸的大小为N(out) = (N(in)-1)× s +k -2ps:stridek:kernel_sizep:padding2.卷积:N(out) = (N(in) − k + 2p )/s+1输入图片大小 N:W×Ws:stridek:kernel_sizep:padding...原创 2018-10-20 13:52:39 · 8333 阅读 · 0 评论 -
pytorch读取数据集
下面这篇博客讲解很详细:https://zhuanlan.zhihu.com/p/37131822转载 2018-10-25 12:50:19 · 694 阅读 · 0 评论 -
pytorch0.4使用注意
1.梯度1.Variable()中,requires_grad=Fasle时不需要更新梯度, 适用于冻结某些层的梯度;2.volatile=True相当于requires_grad=False,适用于测试阶段,不需要反向传播。在torch>=0.4中,这个现在已经取消了,使用with torch.no_grad()或者torch.set_grad_enable(grad_mode)来替代...原创 2018-11-28 20:38:55 · 3732 阅读 · 0 评论 -
pytroch中指定GPU或者CPU写法
之前习惯用.cpu(),.cuda()来指定.现在不要显示的指定是gpu, cpu之类的. 利用.to()来执行# at beginning of the scriptdevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")...# then whenever you get a new Tenso...转载 2018-11-28 20:43:02 · 6606 阅读 · 0 评论 -
pytorch:一行代码查看网络参数总量
netG = Generator()print('# generator parameters:', sum(param.numel() for param in netG.parameters()))netD = Discriminator()print('# discriminator parameters:', sum(param.numel() for param in netD.p...原创 2018-12-14 14:05:05 · 14272 阅读 · 1 评论 -
GAN_loss的构建
GAN_loss的构建.tendorflow:参考链接:https://blog.csdn.net/qiu931110/article/details/80181212pytorch参考链接:https://blog.csdn.net/u011961856/article/details/78697863原创 2018-12-14 17:26:40 · 383 阅读 · 0 评论 -
加载和调用VGG19模型计算VGG_loss
1.加载代码# Assume input range is [0, 1]class VGGFeatureExtractor(nn.Module): def __init__(self, feature_layer=34, use_bn=False, use_input_norm=Tru...转载 2018-12-14 21:08:11 · 5629 阅读 · 0 评论 -
加载resNet预训练模型
# Assume input range is [0, 1]class ResNet101FeatureExtractor(nn.Module): def __init__(self, use_input_norm=True, device=torch.device('cpu')): super(ResNet101FeatureExtractor, self).__ini...转载 2018-12-14 21:10:06 · 3564 阅读 · 0 评论 -
保存malab imagsc()显示的图像
深度学习中有时候想查看网路中的某一蹭课的特征图,可以借用matlab 的imagesc()查看,但是用image()函数查看后,并不能用imwrite()函数保存,只能手动另存为,这样很麻烦,特别是遇到大批量操作的时候:下面说说解决方案:image()显示:clear all;clc;close all; img = imread('feature_map_out_2_14.png');...原创 2018-12-17 13:30:11 · 2083 阅读 · 1 评论 -
当python遇到h5py,h5py数据集的制作
制作可变大小的数据集h5文件,可以参考下面的博客链接:https://www.jishux.com/p/c11fa4f31d757d5cdset = f.create_dataset('mydata', shape=(1, 1,128,128), maxshape=(None, 1,128,128), chunks=(1, 1,128,128))加了这个参数chunks=(1, 1,12...转载 2018-12-11 17:18:46 · 2269 阅读 · 0 评论 -
pytorch加载多GPU模型和单GPU模型
有时候,我们用pytorch进行多卡GPUs训练时候,保存模型应该用下面语句:torch.save(model.module.state_dict(), model_out_path)但是忘记加module了,直接用torch.save(model.state_dict(), model_out_path)所以加载模型会遇到模型中参数名字多了module的关键字而报错,所以用下面加载模...原创 2019-01-27 21:54:39 · 10175 阅读 · 3 评论 -
机器学习中的L1正则,L2正则的理解
一.在深度学习中,影响整个模型最后效果的我认为有3个因素:1.数据的质量,多少.2.网络的结构,网络的深度等.3.损失函数的设计.最常用也是最容易想到的损失函数就是L1损失和L2损失.这也是很多深度学习论文的损失函数的基础项目.对于L1损失,L2损失,相信很多看过吴恩达机器学习课程的同学都会知道**“正则项”**的概念(L1-norm,L2-norm),在tensorflow中,也有专门...原创 2019-03-05 12:24:43 · 697 阅读 · 0 评论 -
1x1卷积两个主要作用
1*1卷积的主要作用有以下几点:1、降维( dimension reductionality )。比如,一张500 * 500且厚度depth为100 的图片在20个filter上做11的卷积,那么结果的大小为500500*20。2、加入非线性。卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励( non-linear activation ),提升网络的表达能力;可以在保...转载 2019-04-06 13:50:29 · 835 阅读 · 0 评论 -
L1正则、L2正则、Batch Normalization、Dropout为什么能够防止过拟合呢?
最近面试,被问到Batch Normalization为什么能够防止过拟合,为什么能够加快收敛速度,一时间没有答上来(失败啊…).现在简单记录下几种深度学习中常用的防止过拟合的技巧,以及为什么能有防止过拟合作用.L1正则:增加了参数矩阵的稀疏表达(参数矩阵中一部分参数为0),可以进行特征选择,通过保留重要的特征,舍弃不重要特征,达到防止过拟合效果.L2正则:将参数矩阵(y=wx+b,w就是矩阵...原创 2019-04-20 13:22:07 · 2707 阅读 · 0 评论 -
卷积的实现(python)
import numpy as npimport mathclass Conv2D(object): def __init__(self, shape, output_channels, ksize=3, stride=1, method='VALID'): self.input_shape = shape self.output_channels = output_channels...原创 2019-08-18 21:36:06 · 1095 阅读 · 0 评论 -
pytoch可视化网络工具-pytorchviz
tensoeflow的可视化工具是tensorboard,但是tensorboard在显示网络结构图的时候,显示特别混乱.之前看了caffe的可视化网络图,很清晰,最近发现pytorch的网络图可视化工具,对网络图的显示也很清晰.第一步:安装:一行命令安装conda install -c anaconda graphviz python-graphviz第二步:可视化代码(最好自己单独...原创 2018-10-09 15:58:22 · 2520 阅读 · 0 评论 -
patchGAN-patch判别器的理解和多种写法(tensorflow)
参考下面的github链接就明白了:https://github.com/ChengBinJin/V-GAN-tensorflow原创 2018-10-18 21:59:09 · 9948 阅读 · 2 评论 -
pytorch 读取数据方法总结
用pytorch读取数据,确实要比tensorflow简单,但是也得熟悉半个小时左右.下面总结下我的体验,直接用代码(1)torch.utils.data.Dataset(2)torch.utils.data.DataLoader这两个类搭配的数据读取代码:import osimport globimport cv2import numpy as npfrom torchvisi...原创 2018-09-27 20:32:27 · 9264 阅读 · 2 评论 -
深度学习(1)-cuda,cudnn,tensorflow(GPU)的环境配置
这里记录一下本人安装tensorflow的一些关键步骤,本人安装主要参考了下面几个链接; 1.https://www.jianshu.com/p/35c7fde85968?from=singlemessage 2.http://blog.csdn.net/michaelliang12/article/details/60106686 这两个链接主要完成两个步骤:cuda8.0,cudnn的安...原创 2018-03-05 23:00:54 · 716 阅读 · 0 评论 -
MATLAB下编译MatConvNet库
最近由于一段代码神经网络代码是使用MATLAB写的,于是就研究怎么用MatConvNet来运行下面几条命令运行配置MatConvNet: 下面语句实在MATLAB的命令行中运行cd MatConvNet文件夹run matlab/vl_setupnn vl_compilenn('verbose',1) %Compiling with CPU vl_compilenn('enab...原创 2018-04-14 16:44:57 · 915 阅读 · 0 评论 -
tensorflow与cudnn在后面使用中的升级和版本搭配
上次分享了安装经验,安装成功的深度学习环境为,tensorflow1.0.0+cuda8.0+cudnn5.1.但是随着学习的进度,发现很多其他作者给的源代码都 是用的高版本的tensorflow,直接用我原来的框架打开,函数报错,因为库函数写法发生了变化,于是每次都google修改,非常麻烦。于是我自己将tensorflow打算升级到1.7(暂时最新),cudnn升级到7.1(暂时最新),...原创 2018-04-11 16:29:10 · 3679 阅读 · 1 评论 -
tensorflow函数-tf.assign()
下面记录一个很简单的tensorflow代码,用来理解tensorflow运行机制 代码中有详细注释,大家可以在运行一下,为什么会是1,2,3这个结果#-*-coding:UTF-8-*-#这句话是指定*.py的编码方式,如果文件中涉及到中文汉字的话,有必要写一下这句话。当然也可以这样写:encoding:UTF-8import tensorflow as tfstate=tf.V...转载 2018-05-04 22:55:33 · 11215 阅读 · 4 评论 -
一句话利用清华源安装软件,比如tensorflow-gpu
pip install tensorflow-gpu==1.3 -i https://pypi.tuna.tsinghua.edu.cn/simple更多详情参考下面博客:https://blog.csdn.net/pandamax/article/details/70674378原创 2018-05-06 14:54:41 · 5397 阅读 · 1 评论 -
TensorFlow中多模型载入,以及多种加载参数的方式
最近做一个课题,要讲两个网络接在一起,自己摸索了好几天,查阅了h各种资料,最后勉强解决了问题.下面总结一下:首先是保存参数的方法: 我最初都是用的最简单的方式保存图的参数,然后加载图的参数,见下面代码: saver = tf.train.Saver() saver.restore(sess, args.dir_models + 'model.ckpt')#加载模型 saver.s...原创 2018-06-14 22:01:07 · 6328 阅读 · 11 评论 -
tensorflow 中batch normalize(slim方式) 的使用
具体参看这篇博客:https://blog.csdn.net/jiruiYang/article/details/77202674 说的不错,而且这份githun代码值得借鉴:https://github.com/soloice/mnist-bnfrom __future__ import absolute_importfrom __future__ import divisionfro...转载 2018-07-09 21:14:13 · 6860 阅读 · 2 评论 -
tensorflow中常用的几种权重矩阵初始化的方式
这里总结几种权重矩阵的初始化方式:1:截断的正态分布:def init_matrix(shape): return tf.truncated_normal(shape, mean=0, stddev=0.1)2.xavier_initializer()法:这个初始化器是用来保持每一层的梯度大小都差不多相同W = tf.contrib.layers.xavier_init...原创 2018-07-09 22:38:58 · 6671 阅读 · 0 评论 -
深度学习中batch_normalization的理解
下面是自己对神经网络中batch_normalization(批标准特征化)的一个小结,很容易理解:1.让每一层神经网络处理的数据更加具有规律性,从而神经网络也可以更加容易学习到数据中的规律。 2.对于一些激励函数,比如tan,激励函数只对一部分区间的数据比较敏感,其他地方的数据变化,做出的反应不大。 比如下面一个图: 数据只对图中红色区域比较敏感,而batch)normalizat...原创 2018-06-28 16:34:56 · 753 阅读 · 0 评论 -
LSTM-tf.nn.static_rnn与tf.nn.dynamic_rnn.用法详解
最近研究LSTM的网络,想将LSTM应用到图像上,查资料发现,用到图像上的LSTM叫ConvLSTM,在这里记录下最核心的两个函数用法: tf.nn.static_rnn与tf.nn.dynamic_rnn.这两个函数是tensoflow针对RNN的LSTM提供的两个函数,两个函数的功能上其实差不多,但是tf.nn.dynamic()函数更加灵活.这里我还主要讲解函数用法没和两个函数输入数据...原创 2018-07-23 11:06:23 · 6299 阅读 · 0 评论 -
pytorch学习:初始化权重并对整个网络的参数进行初始化
pytorch的几种权重初始化方式:PyTorch提供了多种参数初始化函数: torch.nn.init.constant(tensor, val) torch.nn.init.normal(tensor, mean=0, std=1) torch.nn.init.xavier_uniform(tensor, gain=1)上面的初始化函数的参数tensor,...转载 2018-08-09 20:48:06 · 15700 阅读 · 2 评论 -
一个免费的视频下载网站-可用于深度学习的视频训练数据
网址:Video:https://www.video.net/视频可以做风格转换,超分辨率,inpating等应用。原创 2018-08-08 17:12:40 · 1491 阅读 · 0 评论 -
深度学习中的卷积(conv)和空洞卷积(dilated conv)
最近做inpating的相关可以,出现了一个名字,叫dilated conv操作,不是很明白,现在把查阅资料后的理解简单记录一下.1.参数比较: 构建一个卷积层,最核心的是卷积核的尺寸和stride的大小,而空洞卷积最核心的参数是卷积核尺寸和rate的大小. 当stride=1时候,和rate=1是一样的效果.2.功能比较 那什么时候会有区别呢,就是在多个卷积连用,比如做encode...原创 2018-08-13 17:22:51 · 9317 阅读 · 0 评论 -
python以相同规律打乱多组数据的方法
在深度学习的数据训练过程中,虽然tensorflow和pytorch都会自带打乱数据进行训练的方法,但是当我们自己生成数据,或者某些情况下依然要自己手动打乱顺序. 这里介绍如何以相同规律打乱X,Y两组数据,多组数据相同道李.第一种:(X,Y是list的格式,不是array) 产生相同的种子(seed)打乱顺序:import randomseed =50x_batch, y_batc...原创 2018-08-29 10:10:16 · 5001 阅读 · 0 评论 -
tensorflow的几个常用函数(tf.tile(),tf.padding(),tf.expend_dims())
最近看tensorflow,有几个很常用的tensor操作函数,但又不是那么直观理解,看看资料,这里记录一下:1.tf.tile(): 函数参数:tile( input, #输入 multiples, #同一维度上复制的次数 name=None)tile() 平铺之意,用于在同一维度上的复制什么叫同一维度的复制呢,如果是多维该怎么复制呢,应该...原创 2018-09-07 22:25:21 · 3812 阅读 · 0 评论 -
tensorflow数据增强的几种方法记录
参考链接:1.https://blog.csdn.net/medium_hao/article/details/792270562.https://medium.com/ymedialabs-innovation/data-augmentation-techniques-in-cnn-using-tensorflow-371ae43d5be93.https://towardsdatascie...原创 2018-09-19 16:55:26 · 1784 阅读 · 0 评论 -
库函数tf.conv2d()卷积的python实现
话不多说,代码说话:import numpy as npimport mathclass Conv2D(object): def __init__(self, shape, output_channels, ksize=3, stride=1, method='VALID'): self.input_shape = shape self.output_channels = outp...原创 2019-08-17 23:12:20 · 1241 阅读 · 1 评论