深度学习
文章平均质量分 58
ML_BOY
哪怕跑道只剩我一个,我也要跑到终点
展开
-
Pytorch中scatter_ 的使用详细解读
先看一个例子:torch.zeros(3, 5).scatter_(0, torch.tensor([[0, 1, 1, 1, 1]]), 2)tensor([[2., 0., 0., 0., 0.], [0., 2., 2., 2., 2.], [0., 0., 0., 0., 0.]])首先是定义了一个3行5列的数组,_scatter中第一个参数0.表示沿着第0轴, 后面第二个参数是坐标,第三个是对应坐标的值,整个意思就是给torch.zeros(3, 5)对原创 2021-07-20 12:07:38 · 1265 阅读 · 0 评论 -
stylegan-v2 报错 error: #error "C++ versions less than C++11 are not supported.
运行stylegan-v2报错:error: #error "C++ versions less than C++11 are not supported.解决方法:打开 dnnlib/tflib/custom_ops.py的 修改第64行:将cmd = 'nvcc ' + opts.strip()改为:cmd = 'nvcc --std=c++11 -DNDEBU...原创 2020-04-10 21:25:04 · 3699 阅读 · 2 评论 -
undefined symbol: __cudaPopCallConfiguration
##undefined symbol: __cudaPopCallConfiguration遇到该问题是因为cuda的版本和pytorch 的cuda版本不一致导致,检测问题的方法:nvcc -V 查看cuda的版本import torchtorch.version.cuda发现上面两个版本不一致,解决方法,去https://pytorch.org/get-started/...原创 2020-01-04 15:56:36 · 6507 阅读 · 7 评论 -
tensorboard ValueError: Duplicate plugins for name projector
启动tensorboard,报错如下:tensorboard ValueError: Duplicate plugins for name projector解决方法:在python中运行如下代码:import pkg_resourcesfor entry_point in pkg_resources.iter_entry_points('tensorboard_plugi...原创 2019-12-26 12:29:30 · 684 阅读 · 0 评论 -
tensorflow2.0 分布式训练 SystemError: PyEval_EvalFrameEx returned a result with an error set
## 使用tensorflow 2.0 分布式训练模型时,使用tf.distribute.MirroredStrategy,有时候会出现:SystemError: PyEval_EvalFrameEx returned a result with an error set出现这种错误,有可能的原因是:data_decoder = self.tokenizer.texts_to_s...原创 2019-12-24 13:54:45 · 3103 阅读 · 0 评论 -
faster rcnn 源码解读(一)
上一篇介绍了faster rcnn 的原理,现在开始解读源码,这里因为我看得是keras版的,所以用keras版的来讲解。源码的网址:keras版faster rcnn网络第一讲 读取文件(pascal_voc_parser.py) 这个文件相对比较简单,就是从pascal里面读取数据,解析数据,具体我们看下面的代码:下面是导入包,其中ET是解析xml文件的import osimport...原创 2018-03-18 16:56:07 · 955 阅读 · 0 评论 -
faster rcnn 源码解读(二)
解读data_augment.py文件def augment(img_data, config, augment=True): assert 'filepath' in img_data assert 'bboxes' in img_data assert 'width' in img_data assert 'height' in img_data augment是一个函数,该函数...原创 2018-03-18 17:17:34 · 576 阅读 · 0 评论 -
tensorflow版yolo V1 逐行逐句解读
tensorflow版yolo V1 逐行逐句解读 博主最近研究完faster-rcnn,读完每一行代码,那叫一个算爽,现在开始读tensorflow版的Yolo V1.我参考的代码是github上下载下来的,tensorflow-yolo 我们首先是解读pascal_voc.py解读pascal_voc.py首先是定义了一个类,pascal_voc。这个类主要是用于读取pas...原创 2018-03-25 09:48:46 · 10103 阅读 · 27 评论 -
tensorflow版yolo V1 逐行逐句解读(二)
博主最近研究完faster-rcnn,读完每一行代码,那叫一个算爽,现在开始读tensorflow版的Yolo V1.我参考的代码是github上下载下来的,tensorflow-yolo 上次讲解完了代码的网络结构以及读取文件,损失函数等等,传送门train.py文件讲解import osimport argparseimport datetimeimport tensorflow as ...原创 2018-03-25 10:25:33 · 4591 阅读 · 7 评论 -
YOLO论文翻译
摘要 我们提出了YOLO-一种新的目标检测的方法,以前 的目标检测的方法是重新用一个分类器来进行检测,相反,我们目标检测的方法是作为一个回归的问题,在空间上将边界框和每个类的概率值分开。一个神经网络直接从图像中预测出每个类的概率值和边界框。当我们的整个检测是一个流水线的时候了,我们可以从端到端的优化检测的性能。 我们的统一网络结构十分的快,我么YOLO的基础模型实时检测的速度是45帧每...翻译 2018-03-21 00:01:49 · 1828 阅读 · 0 评论 -
tensorflow 中的padding方式“SAME”和“VALID”
tensorflow 中的padding方式“SAME”和“VALID”因为最近在看一些目标检测的代码,想计算每一层的卷积或者pooling的输出大小,所以把这一块严格看一下,同时有助于自己设计网络,比如什么时候要padd之类的。tensorflow 中的padding方式“SAME”和“VALID” 在tensorflow里面,这两个计算特征图的输出大小方式不一样, 如果paddin...原创 2018-03-31 09:07:57 · 3534 阅读 · 3 评论 -
目标检测 -- SSD (tensorflow 版) 逐行逐句解读
目标检测 -- SSD (tensorflow 版) 逐行逐句解读 这篇博客,主要是讲解SSD,tensorflow版的实现,代码地址是:SSD-tensorflow,大神写的代码,也是github上tensorflow版的SSD star 最多的代码,所以就用它来讲解,同时附上论文地址:SSD 论文下载 对照论文和代码讲解,代码中提供了SSD300和SSD512,代码一样,...原创 2018-04-01 20:28:26 · 37324 阅读 · 17 评论 -
faster rcnn 原理解析
faster rcnn 网络结构图 Faster cnn 大概思路就是,首先是输入一张图像,然后将图像固定最小边为600的大小,保证了图像不发生形变,然后经过一个训练好的网络,比如vgg或者是其他的,得到特征图,然后有两条路,一个是输入RNP网络,经过一个3*3的卷积,RPN网络也有两条路,一条是直接经过一个1*1的卷积,激活函数使用linear,用于回归,因为框有4个坐标,(dx,...原创 2018-03-18 14:42:56 · 4190 阅读 · 0 评论 -
从Inception V1 到 Inception V4 网络结构的变化
最近在学习Inception系列的网络,把自己的总结一下。 2014年GoogleNet(论文地址)取得了第一名,和VGG网络同年,那时候的Inception Net称为V1版本,我们来看一下Inception V1的Inception module。这个左边的是一般的版本,右边的是改进的版本,首先解释一下这种Inception module的好处,从Alexnet到VGG,网络层次不断增加,深度原创 2018-01-19 11:50:46 · 7783 阅读 · 2 评论 -
tensorflow 搭建resnet50(附代码)
def conv_op(x,name,n_out,training,useBN,kh=3,kw=3,dh=1,dw=1,padding="SAME",activation=tf.nn.relu, ): ''' x:输入 kh,kw:卷集核的大小 n_out:输出的通道数 dh,dw:strides大小 name:op的名字原创 2018-02-02 23:16:09 · 7944 阅读 · 1 评论 -
Lstm实现MNIST手写字体识别(tensorflow版)
本文主要讲解如何使用Lstm实现MNIST手写字体识别,之前写过用cnn实现,这次我们使用lstm循环神经网络来实现。一切尽在代码中。 导入相关库以及MNIST数据import tensorflow as tfimport numpy as npfrom tensorflow.examples.tutorials import mnistfrom tensorflow.contrib imp原创 2018-01-02 10:10:58 · 4569 阅读 · 7 评论 -
Tensorflow实战(一)(MNIST手写字体识别TensorFlow实现)
笔者开始连载tensorflow教程,从MNIST实现开始,重点是在代码的实现,个人感觉把代码实现一遍,比看更加学得更加明白。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('./data/',one_hot=True原创 2017-12-19 16:58:07 · 1313 阅读 · 1 评论 -
tensorflow实现siamese网络(附代码)
Learning a Similarity Metric Discriminatively, with Application to Face Verification 这个siamese文章链接。 本文主要讲解siamese网络,并用tensorflwo实现,在mnist数据集中,siamese网络和其他网络的不同之处在于,首先他是两个输入,它输入的不是标签,而是是否是同一类原创 2018-01-11 23:58:40 · 21821 阅读 · 15 评论 -
tensorboard 使用
tensorboard 使用首先我们随便定义一个图import tensorflow as tfx = tf.constant(6,name='x')y = tf.constant(8,name='y')z = tf.add(x,y,name='z')with tf.Session() as sess: writer = tf.summary.FileWriter('./graphs/con原创 2017-12-28 09:18:04 · 421 阅读 · 0 评论 -
利用tensorflow自动生成英文摘要
本文主要利用lstm实现英文摘要的自动生成,他的主要步骤如下: (1) 首先是我们把训练数据的每个单词对应一个数值,构建一个word to int的字典,得到单词和数值的一个一一对应的关系后,我们就可以把整个训练数据集把所有单词转化为数值的序列,也就是数值型的数列, (2) 训练数据处理好了以后,我们就应该构造batch,建立一个生成batch_size的生成器 (3) 然后开始构建l原创 2018-01-04 00:11:20 · 3715 阅读 · 1 评论 -
tensorflow实现Skip-Gram模型
本文使用tensorflow实现skim-gram模型导入相关库import tensorflow as tfimport zipfilefrom collections import Counterimport numpy as npimport random对数据进行解压以及读取数据zip_file_path = './embedding/text8.z原创 2018-01-04 21:51:19 · 2909 阅读 · 2 评论 -
GAN生成抛物线
本文主要讲解GAN的原理以及一个小实战,利用GAN生成抛物线,首先我们看一下GAN的原理。GAN是2014年提出来的,他的原理可以这样理解,他有一个生成器和一个判别器,生成器是不断的生成数据,判别器的原理是将真实图片和生成器制作的数据区分开来,目的就是鉴别生成器生成的数据是假的,把原始数据判定为真。为生成器相反,他的目的就是源源不断的生成数据,让判别器无法分辨真假,从而以假乱真。常看到的一个例原创 2018-01-15 12:01:53 · 2326 阅读 · 0 评论 -
DCGAN生成动漫头像(附代码)
DCGAN。顾名思义,就是深度卷积生成对抗神经网络,也就是引入了卷积的,但是它用的是反卷积,就是卷积的反操作。我们看看DCGAN的图:生成器开始输入的是噪声数据,然后经过一个全连接层,再把全连接层的输出reshape,然后经过反卷积,判别器就是卷积层,最后一个全连接层,用sigmoid激活函数。DCGAN注意事项:生成器的全部激活函数用relu,除了最后一层用tanh函原创 2018-01-22 21:45:18 · 15485 阅读 · 8 评论 -
循环神经网络--中文文档自动归类(tensorflow版)
本文主要讲解使用tensorflow实现中文文档的自动归类,首先总结一下主要的工作流程: (1)首先也是一样我们需要把文字做一个和数值的一一映射字典,也就是将每一个汉字映射为一个字典,同时对于label我们也是一样构建一个一一映射表 (2)我们构建生成器,生成label和输入数据, (3)对输入数据进行一个embedding编码, (3)将embedding得到的结果输入循环神经网络lstm原创 2018-01-07 19:51:03 · 451 阅读 · 0 评论 -
用vgg16做验证码识别(tensorflow版)
这篇文章主要是使用vgg16网络实现验证码的自动识别: (1) captcha库 这个库可以自动生成验证码,生成验证码的代码如下:from captcha.image import ImageCaptchafrom PIL import Imageimport matplotlib.pyplot as pltimport numpy as npnumber = [str(i) for i原创 2018-01-08 16:57:09 · 1268 阅读 · 1 评论 -
GAN生成手写字体识别
这篇文我主要是利用GAN生成手写字体,原理和实现方法和之前的GAN生成抛物线是一样的点击打开链接,我们直接看代码。首先我是定义了一个可视化的函数import matplotlib.pyplot as pltdef vis_img(batch_size,samples): fig,axes = plt.subplots(figsize=(7,7),nrows=8,ncols=8原创 2018-01-17 15:23:01 · 4282 阅读 · 2 评论 -
tensorflow实现风格迁移
风格迁移主要的就是两个损失,一个是内容损失,一个是风格损失,论文使用vgg19做实验,内容损失是在conv4_2上将原始图片在vgg19该层的输出与我们想要生成的图片在该层的输出计算内容损失,风格损失是风格图片和我们想要生成的图片在’conv1_1’, ‘conv2_1’, ‘conv3_1’, ‘conv4_1’, ‘conv5_1’这些层的风格损失求和求平均,首先我们看下内容损失如何计算:原创 2018-01-10 23:17:31 · 2053 阅读 · 0 评论