TensorFlow
energy_百分百
while(1){慢几步,深几度}
展开
-
#通俗理解# 变分自编码器
自编码器的应用有两个方面,第一是数据去噪,第二是进行可视化降维。然而自动编码器还有着一个功能就是生成数据。自编码器由两部分组成,一个是编码器,一个解码器,编码器将输入数据压缩进行编码,解码器将编码还原成原始数据;但是自编码器有一个缺陷,生成的编码不连续,这里通过一个例子说明:比如对于属于A类的所有样本来说,编码的第一位可能都在1-2之间,而属于B类的所有样本,编码的第一位都在3-4之间,这就导致2-3之间的编码没有对应类别,当我们用训练好的自编码器去生成随机样本时,如果随机生成了一个编码,第一位是2.原创 2021-02-24 21:46:30 · 534 阅读 · 0 评论 -
结合实例,在tensorflow中使用一维卷积对序列数据进行训练
首先要强调一点,一维卷积的含义是卷积核移动的方向是一维的,数据可以是二维的,很多初学者容易混淆这个概念原创 2021-02-19 14:37:52 · 2847 阅读 · 0 评论 -
解决 from scipy.misc import comb ImportError: cannot import name ‘comb‘ 问题
因为scipy.misc中的comb位置已经移到scipy.special中,所以,将文件中from scipy.misc import comb改为from scipy.special import comb就会没问题了。例如,我在import librosa时,会报错: cannot import name ‘comb’错误import路径为:site-packages\sklearn\metrics\cluster\supervised.pysite-packages\sklear原创 2021-02-19 13:55:44 · 2716 阅读 · 0 评论 -
#深入分析# pandas中使用 drop 和 del删除列数据的区别
在Python中del 和drop方法都能够删除dataframe中的列数据,但两者也有着些许区别。首先 del 属于 Python的内置函数函数,drop属于pandas中的内置函数drop对列和行都进行操作;del仅对列进行操作。drop一次可以处理多个项目;del一次只能操作一个。drop可以就地操作或返回副本;del仅是就地操作。两种函数在执行效率上很接近,但是在较大数据上,drop函数优势更明显,尤其实在处理多列数据时...原创 2021-02-18 12:04:50 · 2576 阅读 · 0 评论 -
pandas中使用fillna函数填充NaN值
1. 参数解析1.1 inplace参数取值:True、FalseTrue:直接修改原对象False:创建一个副本,修改副本,原对象不变(缺省默认)1.2 method参数取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default Nonepad/ffill:用前一个非缺失值去填充该缺失值backfill/bfill:用下一个非缺失值填充该缺失值None:指定一个值去替换缺失值(缺省默认这种方式)1.3 limit参数:限制原创 2021-02-09 11:10:08 · 10544 阅读 · 0 评论 -
迁移学习笔记
文章目录.2.迁移学习的优势3.微调4.迁移学习的步骤1.keras 内置的预训练模型.2.迁移学习的优势预训练网络 能够使网络在小样本上得到较高的准确率,传统深度学习网络训练参数过多,容易产生过拟合的现象只有在全连接层(分类器)训练好的情况下才能微调卷积基的顶层卷积层,因为刚开始全连接层误差很大,顶部卷积层的学到的参数会被破坏3.微调冻结模型底部的卷积层,共同训练顶部(靠后边)的卷积层和分类器层四个基本原则:新数据集小而且相似时,不建议进行微调,以防止过拟合。最好是只训练线性分类器(只训原创 2021-01-25 16:13:50 · 157 阅读 · 0 评论 -
简明详细阐述CNN深度神经网络实现步骤及关键点
目录1.读取图片2.划分测试集和训练集3.预处理5.构建模型6.训练网络1.读取图片生成样本列表和标签列表,可以根据路径或者文件名获取每个样本的标签项2.划分测试集和训练集在tensorflow中可以先使用tf.data.dataset.from_tensor_slices函数将数据转化成dataset类型;对于训练集可以使用shuffle函数对数据进行乱序(乱序的作用是使每个epoch中的样本数据顺序不同,防止网络记录样本间的次序信息),然后设置batch_size大小,batch_size大小就原创 2021-01-23 10:51:45 · 2060 阅读 · 1 评论 -
Tensorflow 需要注意的几点
当使用自定义训练时,构建数据集时不需要使用 repeat() 函数;当使用 tensorflow 的compile() 和 fit() 函数对样本进行训练时,需要使用 repeat() 函数当使用构造数据集时使用 repeat()传递无限重复的数据集时, fit() 函数必须指定steps_per_epoch参数。...原创 2021-01-13 10:43:16 · 114 阅读 · 0 评论 -
# tensorflow笔记 # tensorflow 中的图像预处理操作总结
1. 图像读取获取所有图片文件路径根据图片类别(上一层文件夹名),生成标签列表(并编码成0,1,2…格式)def load_image(path): train_image_path=glob.glob(path+'/train/*/*.jpg') test_image_path=glob.glob(path+'/test/*/*.jpg') train_image_label=[1 if elem.split('\\')[1]=='类别1' else 0 for elem in train原创 2021-01-12 16:54:54 · 575 阅读 · 0 评论 -
#深入分析# keras的Embedding函数中 input_dim output_dim input_length 三个参数的理解
Keras中的Embedding层本质上是一个对输入数据降维过程,其中Embedding函数有三个容易混淆的参数,分别是:input_dimoutput_diminput_lengthinput_dim 指的是输入数据的维度,意思就是这一行数据是由多少个严元素组成的output_dim 指的是输出数据的维度,意思是经过Embedding层降维后的数据由多少个元素组成input_length 指的是输入数据的长度,意思是输入数据的从长度是多少,(数据数据是由多个重复的元素安一定顺序组合而成的)原创 2021-01-09 10:50:57 · 5096 阅读 · 3 评论 -
#浅析# tensorflow中的批标准化
1.批标准化的作用批标准化能够解决梯度消失和梯度爆炸的问题批标准化能够提高模型的泛化能力,解决过拟合问题批标准化具有正则化的作用批标准化能够允许更高的学习速率 从而加块模型收敛批标准化允许更深的网络,对于特别深的网络,只有包含多个BtachNormalization层才能进行训练2. 批标准化的实现过程求每个训练批次的均值求每个训练批次的方差进行数据标准化训练参数β和γ...原创 2021-01-07 16:59:16 · 583 阅读 · 0 评论 -
CNN 卷积神经网络 笔记
1. 卷积神经网络架构卷积层激活层池化层全连接层整个过程本质上就是把图像变厚变小的过程池化层的作用是让后边的卷积层能看到更大的视野(卷积核大小不变的情况下)2. Tensorflow中 CNN网络的数据结构维度含义1batch,一般设为 None2高3宽4通道 chanal...原创 2021-01-07 15:03:38 · 181 阅读 · 0 评论 -
#深入探究# 机器学习中的归一化、标准化、批标准化
1. 两者的比较1.1 相同点:1 两者本质上都是一种线性变换2.两者公式都能化简成如下公式1.2 不同点:归一化:其实是将数据集归属到0-1范围内,从公式可以看出,他的缩放和最大值、最小值有关系标准化:他的输出范围并不是0-1,而是负无穷到正无穷,他的缩放是和所有点都有关系,并且处理后的特征是符合正态分布2. 两者的应用场景对输出结果范围有要求,用归一化存在异常值和较多噪音,用标准化-数据较为稳定,不存在极端的最大最小值,用归一化3. 两者在机器学习中的应用概率模型不需要归原创 2021-01-07 16:07:08 · 196 阅读 · 0 评论 -
#深入探究# Tensorflow 中 batch_size 的设置问题
在学习tensorflow时,有几个地方都能设置batch_size 参数,这里对batch_size的设置做一个总结首先强调一下,这个batch_size的作用就是规定每次梯度更新的样本数量目前已知设置 batch_size 的地方有:tf.data.batch() 函数、生成器或keras.utils.Sequence实例 都能通过内部方法生成batchfit() 函数中的 batch_size 参数根据输入数据类型的不同,可分为如下两种情况:如果fit() 函数的数据采用数据集(包原创 2021-01-06 10:49:47 · 6581 阅读 · 1 评论 -
#从源码分析# TensorFlow fit 方法中的 steps_per_epoch 参数
对官方文档的总结如下:steps_per_epoch 用于指定每个epoch所使用的迭代次数当fit方法的输入数据是张量类型时,steps_per_epoch 默认为数据集中的样本数量除以批次大小当fit方法的输入数据是tf.data 时,每个epoch会默认将数据集用尽当fit方法的输入数据是tf.data且传递的数据是无限repent时,必须指定steps_per_epoch参数数组输入不支持steps_per_epoch参数在官方帮助文档中,steps_per_epoch 参数的说明如原创 2021-01-06 09:56:18 · 4194 阅读 · 0 评论 -
Tensorflow 2.x 中的 dataset总结
今天学习Tensorflow 中的dataset,通过研究解决了几个之前的困惑,在这里总结一下dataset本质上是一个迭代器,因此dataset的repeat方法并不会增加内存的消耗,只是在原有数据集上增加几个循环的次数shuffle需要用到缓冲区,而且一般缓冲区大小大于等于数据集大小,在这篇文章中我对shuffle方法和buffer_size参数做了详细的分析->#深入探究# Tensorflow.Data.shuffle 方法的实现原理和 buffer_size 参数的作用...原创 2021-01-05 20:39:45 · 742 阅读 · 0 评论 -
#深入探究# Tensorflow.Data.shuffle 方法的实现原理和 buffer_size 参数的作用
今天在学习 tensorflow 中 dataset 的shuffle方法时,对 buffer_size 这个参数一直不理解找遍了全网,都只是说 buffer_size 数值越大,混乱程度越好,没有从原理上解释这个参数是什么意思,于是我查询了shuffle方法官方帮助手册,里边的英文原文如下:Randomly shuffles the elements of this dataset.This dataset fills a buffer with buffer_size elements, th原创 2021-01-05 20:04:45 · 1313 阅读 · 0 评论 -
为何逻辑回归中 普遍使用 Softmax激活函数
分类问题(逻辑回归)中,当计算模型预测值的交叉熵函数时,需要用到样本被分到不同样本下的概率,而这个值可以通过Softmax激活函数得到,因此逻辑回归中 普遍使用 Softmax函数作为激活函数...原创 2021-01-05 09:12:48 · 605 阅读 · 0 评论 -
#浅析# categorical_crossentropy 和 sparse_categorical_crossentropy 的区别
categorical_crossentropy 和 sparse_categorical_crossentropy 都是交叉熵损失函数,使用哪种函数要根据标签的结构来选择如果样本标签是one-hot编码,则用 categorical_crossentropy函数 one-hot 编码:[0, 0, 1], [1, 0, 0], [0, 1, 0]如果样本标签是数字编码 ,则用sparse_categorical_crossentropy函数 数字编码:2, 0, 1...原创 2021-01-04 22:45:42 · 2975 阅读 · 1 评论 -
#详解# 激活函数中的 饱和、软饱和、硬饱和
假设h(x)是一个激活函数。1. 饱和当我们的x趋近于正无穷,激活函数的导数趋近于0,那么我们称之为右饱和。当我们的n趋近于负无穷,激活函数的导数趋近于0,那么我们称之为左饱和。当一个函数既满足左饱和又满足右饱和的时候我们就称之为饱和,典型的函数有Sigmoid,Tanh函数。2. 硬饱和对于任意的x,如果存在常数c,当x>c时,恒有=0,则称其为右硬饱和。如果对于任意的x,如果存在常数c,当x<c时,恒有=0,则称其为左硬饱和。既满足左硬饱和又满足右硬饱和的我们称这种函数原创 2021-01-04 19:38:57 · 1777 阅读 · 0 评论 -
机器学习中,逻辑回归和线性回归的不同
线性回归输出的是一个真实值,更适用于预测连续的数值预测问题,损失函数可以使用MSE(均方误差),最后的激活函数不要使用sigmod函数逻辑回归输出的是一个概率值,更适用于离散的分类问题,损失函数使用MSE没有实际意义,最后的激活函数可以使用sigmod激活函数,因为sigmod函数输出的是一个0~1的概率值...原创 2021-01-04 15:59:41 · 390 阅读 · 0 评论 -
#浅析# 深度学习如何避免陷入局部最优
当神经网络使用梯度下降算法寻优时,陷入局部最优的条件是所有偏导数在这一点全部为0,在二维或三维空间似乎这种点很容易遇到,但在极高维的空间中这样的点很难遇到,在高维空间大部分是鞍点;由于深度神经网络多数情况下在高维进行寻优,因此根据上边的解释很难陷入局部最优...原创 2021-01-04 11:01:00 · 4516 阅读 · 0 评论 -
#浅析# 使用Python中的scipy.sparse构造稀疏矩阵
目录1.简介2.scipy.sparse的稀疏矩阵类型2.1 bsr_matrix2.2 coo_matrix2.3 csc_matrix2.4 dia_matrix2.5 dok_matrix2.6 lil_matrix2.7 spmatrixSparse(基类型)3.矩阵初始化4. scipy.sparse中的矩阵函数4.1 构造函数4.2 判别函数4.4 针对元素的函数4.5 转化函数4.6 其他函数1.简介Python中的scipy.sparse,顾名思义就是一个用于初始化和操作稀疏矩阵的包,在原创 2021-01-03 16:43:31 · 2067 阅读 · 0 评论 -
tensorflow 笔记
1.安装1.1 更改pip源国内可用源阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/win原创 2021-01-03 15:27:52 · 89 阅读 · 0 评论