自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 tensorflow查看形状XXX.get_shape()、numpy查看形状XXX.shape tf.matmul(a, w)+b详细解释(CNN全连接相关的)

import tensorflow as tfa = tf.constant((1.0, 2.0, 3.0, 4.0), dtype=None, shape=(1, 4), name='a')w = tf.ones(shape=[4, 2], dtype=tf.float32, name=None)b = tf.ones(shape=[2], dtype=tf.float32, name=...

2020-03-25 22:16:30 385

原创 CNN中做归一化用到的相关API(自己的小总结:tf.nn.moments()函数理解) 以及CNN中NHWC转NCHW的方法

Note1:CNN中NHWC转NCHW的方法:比如卷积层输出的net形状为:[2, 3, 3, 4]即:NHWC为[2, 3, 3, 4]N:一个batch内图片的数量。H:垂直高度方向的像素个数。W:水平宽度方向的像素个数。C:通道数现为了做BN,想先将NHWC转为NCWH=[2, 4, 3, 3]方法呢?可以使用TensorFlow中的tf.transpose函数实现!n =...

2020-03-25 16:58:49 633

原创 tf.truncated_normal_initializer()和tf.random_normal_initializer()的区别和使用

两个初始器的使用和区别tf.random_normal_initializer:正态分布tf.truncated_normal_initializer:截取的正态分布

2020-03-25 00:39:35 4168

转载 tf.nn.moments()函数解析(最清晰的解释)

tf.nn.moments()函数用于计算均值和方差。# 用于在指定维度计算均值与方差tf.nn.moments( x, axes, shift=None, # pylint: disable=unused-argument name=None, keep_dims=False)参数:x:一个Tensor,可以理解为我们输出的数据,形如 [b...

2020-03-25 00:09:41 4515 1

原创 CNN过程举例(手写版)

# 定义一个网络结构: input -> conv1 -> relu1 -> pooling1 -> conv2 -> relu2 -> pooling2 -> FC1 -> FC2手写CNN过程:

2020-03-21 00:32:52 393 2

原创 CNN(多种CNN结构,为什么用引入CNN,卷积层不考虑过拟合)

1.多种CNN结构好多CNN结构都是在原来基础上做了深度和宽度方向上的扩展,从而将网络结构变得复杂,同时通过这种方式使模型效果变得好一点。常见的CNN结构有LeNet-5、 AlexNet、ZFNet、VGGNet、GoogleNet、ResNet、DenseNet、SENet、 Residual Attention Networks、MobileNet、ShuffleNet等等。从Goog...

2020-03-20 17:56:15 568

原创 CNN中窗口,通道,feature map,激活函数 理解

CNN中的窗口理解窗口大小,就是局部感知视野图片的深度depth,也叫channeldepth深度:图片是从几个方面进行描述的。feature map一个卷积核相当于从一个方面考虑这个图像具有什么特征,10个卷积核就是从10个方面去描述图像,然后得到10个feature mapCNN中的激活函数ReLU效果不好的话再考虑用Leaky ReLUMaxout不是纯粹的激活函数,但可以把...

2020-03-20 17:55:03 704

原创 BP体系

BP体系小理解不管什么神经网络,底层的求解。都属于BP这个体系,只是有时候稍微改个名字,比如BPTT,属于BP体系,用反向传播过程,进行参数更新,过程就是求导的过程。...

2020-03-20 17:54:18 802

原创 模型过拟合和模型退化理解

模型过拟合和模型退化模型过拟合:指在训练集上效果还可以,在测试集上效果不好;模型退化:在训练集上效果就不好了。

2020-03-20 17:45:51 1679

原创 CNN基础的小总结

总结CNN中,卷积层主要目的是提取图像的局部高阶特征信息,其他不考虑。在激活层,由于卷积层提取的是线性的特征。所以需要做一个非线性的转换。如果不做转换的话,多层还是相当于一层,没有什么区别。池化层可以理解为对前面卷积层提取那么多的局部特征信息做一个压缩,压缩的过程中会把一些噪声特征信息,包括冗余特征信息给剔除掉。使模型相对稳定一些。迭代速度更快一些。也可以稍微缓解一些过拟合的问题。前面提取的是...

2020-03-20 17:44:38 142

原创 CNN中用到的灰度图和RGB图的理解

灰度图片和RGB图片灰度图像是一个方面,彩色图像是三个方面灰度图:把白色与黑色之间按对数关系分为若干等级,称为灰度。灰度分为256阶。(数字越大越接近白色,越小越接近黑色 )RGB图:是通过对红R、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色。(每像素颜色16777216(256 * 256 * 256)种)...

2020-03-20 17:39:27 3517

原创 对CNN中池化层的理解

14.为什么要引入池化层?例如一张图片中,有天空。天空那一大片区域颜色是很接近的。用卷积层提取出的局部特征也很相近。这样的话会造成特征信息的冗余。带来计算量大的问题。如何将冗余的信息删除,那就要用到池化层。池化层的作用主要是:为了提高重要的特征信息,压缩特征,降低计算量,缓解过拟合的情况。池化有最大池化和最小池化(其中最小池化自己根据最大池化进行改编得到)最大池化认为每个窗口中值越大,越...

2020-03-20 17:37:15 1954

原创 对CNN中padding零填充的理解

11.padding为什么用padding进行填充?原因:2个一:卷积的时候,希望图像大小不发生变化;二:有的时候可能原始图像是除不尽的,如果不填充的话,余的像素就直接丢弃了,这样信息可能会丢失。那为了防止信息丢失,我们做一个填充。注意:零填充填几层卷积自己会自己计算的(计算是在滑动窗口滑动之前就计算好的)。也就是说:不管哪种情况,padding的取值,先计算好,然后窗口才滑动 。。。 ...

2020-03-20 17:29:35 12206 1

原创 tf.train.get_or_create_global_step()和tf.trainable_variables()用法

tf.train.get_or_create_global_step()这个函数主要用于返回或者创建(如果有必要的话)一个全局步数的tensor变量。参数只有一个,就是图,如果没有指定那么就是默认的图。tf.trainable_variables()获取参与模型训练的变量值import tensorflow as tfglobal_step = tf.train.get_or_creat...

2020-03-19 23:30:41 3532

原创 os.path.join的用法

os.path.join()函数:连接两个或更多的路径名组件import oslacation1 = './models'lacation2 = 'e.txt'Path = os.path.join(lacation1, lacation2)print('Path = ', Path)'''执行结果如下:Path = ./models\e.txt'''...

2020-03-19 21:48:31 198

原创 tf.app.flags.DEFINE_XXX和tf.app.flags.FLAGS

tf.app.flags.DEFINE_XXX()就是添加命令行的optional argument(可选参数)而tf.app.flags.FLAGS可以从对应的命令行取出参数import tensorflow as tf# tf.app.flags.DEFINE_xxx()就是添加命令行的optional argument(可选参数)# 而tf.app.flags.FLAGS可以从对应...

2020-03-19 12:45:16 219 1

原创 pycharm无法用Anaconda里面的包,或者在cmd不能使用conda、python、pip等,有解决方法

要进行环境变量的配置:在环境变量path里面添加如下变量,几乎就能解决所有问题。找到安装Anaconda的目录,我的是在E盘下。E:\AnacondaE:\Anaconda\ScriptsE:\Anaconda\Library\bin...

2020-03-18 22:34:08 1555

原创 ValueError: 'c' argument has 100 elements, which is not acceptable for use with 'x' with size 100,

注意matplotlib中画散点图的scatter函数的参数c的用法c的值不可以是列向量import numpy as npimport matplotlib.pyplot as pltif __name__ == '__main__': # 1. 数据生成 N = 100 x = np.random.uniform(low=-10, high=10, size=...

2020-03-17 19:54:25 10744

原创 np.squeeze()使用示例

np.squeeze(y)使用示例y = [[0] [0] [0] [0] [1] [0]...]a = np.squeeze(y)print(a)结果如下:[0 0 0 0 1 0 ...]

2020-03-17 19:47:48 1178

原创 决策树的剪枝处理

决策树的剪枝处理剪枝是决策树学习算法解决过拟合的主要手段。在决策树的学习过程中,为了尽可能地正确分类训练样本,节点划分得不断重复,有时候会造成决策树的分支过多,这时候就是算法在训练样本上学得太好,导致把训练集本身的一些特点作为所有数据所有数据都有的一般性质(实际上新数据中可能没有这些特点),从而导致过拟合。因此可以主动去掉一些分支来降低过拟合的风险。    决策树的剪枝分为 预剪枝 和 ...

2020-03-17 10:48:49 1425

转载 numpy随机数的产生

numpy.random.uniform均匀分布numpy.random.uniform介绍:函数原型: numpy.random.uniform(low,high,size)功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.参数介绍:low: 采样下界,float类型,默认值为0;high: 采样上界,float类型,默认值...

2020-03-13 22:40:37 195

转载 numpy: np.asarray 函数

numpy: np.asarray 函数 2018-09-272018-09-27 16:14:02阅读 5810Syntax np.asarray(a, dtype=None, order=None) 将结构数据转化为ndarray。Parameters: a : array_likedtype : data-type, optionalorder : {‘C’, ‘F’}, option...

2020-03-13 18:04:03 665

原创 对tf.get_variable()的进一步理解

情况一:w = tf.get_variable在with tf.variable_scope(name=‘op’):下有使用w的相关代码,这样,会话中第一次执行到with tf.variable_scope(name=‘op’):的w相关代码时,用的w是第一次用初始化器构造的值,下一次用,发现w已经有值了,直接拿来用。情况二w = tf.get_variable既在with tf.varia...

2020-03-11 20:38:39 311

转载 Tensorflow中tf.Variable()和tf.get_variable()的区别与关系

从两个方法的名称上,可以简单理解一下,Variable是定义变量,而get_variable是获取变量(只不过如果获取不到就重新定义一个变量),如果按照这种逻辑,已经基本上可以理解两者的差异了...

2020-03-11 14:28:03 183 1

转载 python各种模块安装whl文件下载网址

python各种模块安装whl文件下载网址https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

2020-03-11 13:41:59 1716

原创 关于python中with的理解

Python中with语句块用法with语句块实际上涉及到两个python的内置方法,在python的with语句块上会执行__enter__方法,当退出这个with语句块的时候,进入__exit__方法。tf.Session()类中有__enter__和__exit__内置方法。执行with tf.Session() as sess:时,会自动执行这两个方法。# WithDemo是自己随便...

2020-03-11 01:34:43 325

原创 tf.get_default_graph()和as_default()

tf.get_default_graph()和as_default()小总结:tf.get_default_graph() tensorflow中可以通过这个API获取当前代码中的默认会话对象as_default()这个操作,就是将with语句块中的默认图修改为当前构建的tf.Graph()这个对象;也就是:as_default的操作是将新建的图在当前这个with语句块的范围内设置为默认图参...

2020-03-11 01:27:27 2123 3

原创 分类实现:基于TensorFlow实现手写数字的模型训练预测

使用了tensorflow,不涉及深度学习的内容,底层是线性回归# -- encoding:utf-8 --import osimport numpy as npimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data...

2020-03-10 19:23:49 200

原创 tensorflow中argmax、equal、cast、reduce_sum、reduce_mean等函数的用法

tf.argmax、tf.equal、tf.cast、tf.reduce_sum、tf.reduce_mean用法a = tf.argmax([[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]], axis=1) # tf.argmax(a, axis=1)a是一个列向量,其中的元素是行向量。最后得到的是最大值的下标,按行b = tf.equal([0, 2,...

2020-03-10 17:40:18 201

原创 特征的升维和降维各自的方式

标题特征降维方式:SVD,PCA,LDA特征扩维方式:多项式扩展,高斯核函数

2020-03-10 14:02:35 2245

原创 tensorflow分布式(用tensorflow:离线训练模型,实现在线预测)

tensorflow分布式训练:一般分布式在一个局域网内进行,不然通信代价太高(你先发给运营商,运营商再发给别人)tensorflow支持的分布式训练现在不怎么成熟...

2020-03-09 22:31:13 1253

原创 损失函数运行出nan和inf,原因是学习率过大引起的

损失函数也是有可能导致输出nan,inf(由于梯度爆炸造成Loss爆炸引起)原因很简单,学习率较高的情况下,直接影响到每次更新值的程度比较大,走的步伐因此也会大起来。过大的学习率会导致无法顺利地到达最低点,稍有不慎就会跳出可控制区域,此时我们将要面对的就是损失成倍增大(跨量级)。...

2020-03-09 22:23:57 3539

原创 tensorflow与numpy用法相似之处

1.tensorflow和numpy的square和mean很相似:np.square(X)----tf.square(X)np.mean(X)----tf.reduce_mean(X)注:X为一个列向量2.加随机数种子,让多次运行的时候,随机数列一致numpy中:np.random.seed(28)tensorflow中:tf.set_random_seed(28)...

2020-03-09 22:15:36 173

原创 tensorflow(一个程序可有多个图和多个会话、图与会话的关系、会话程序段关注的主要点、run和eval)

1.tensorflow支持多个图在一个程序中构建的。2.一个程序中会话同样可以构建多个,但一般不这么用3.一个session一定属于某个图如果无任何参数的情况下,会话构造器将启动默认图,如下:with tf.Session(graph=tf.get_default_graph()) as sess: # graph参数的默认值是tf.get_default_graph(),即默认图...

2020-03-09 22:00:41 755

原创 浅理解tensorflow及其应用(科学计算库、框架、版本、tf.XXX、有状态的操作 Assign、模型的保存和加载、加速、图和默认图、tensorflow程序的两个阶段)

浅理解tensorflow及其应用(科学计算库、框架、版本、tf.XXX、有状态的操作 Assign、模型的保存和加载、加速、图和默认图、tensorflow程序的两个阶段)

2020-03-09 21:22:08 2002

原创 特征工程中的正则化的作用

特征工程的正则化的两个作用:一是防止过拟合;二是当样本存在多重共线性时,它可以解决多重共线性问题。多重共线性指:比如一个样本用多个特征:X1,X2,X3...X1=K*X2+b,影响X1的值除X2之外,还有一个未知的X影响它,但不知道它是多少,如果把X1消掉,但消的时候,到底是X1影响X2呢,还是X2影响X1呢,是不知道的,所以任何一个都不能消除。...

2020-03-09 20:06:25 499

转载 GBDT+LR CTR

GBDT+LR算法解析及Python实现1. GBDT + LR 是什么本质上GBDT+LR是一种具有stacking思想的二分类器模型,所以可以用来解决二分类问题。这个方法出自于Facebook 2014年的论文 Practical Lessons from Predicting Clicks on Ads at Facebook。2. GBDT + LR 用在哪GBDT+LR 使用最广...

2020-03-09 19:51:57 314

原创 jieba用法和jieba模式

mydict.txt文件内容如下:‘’’第一行,井号开头表示注释。每行一个单词,包含三个部分,每个部分以空格隔开,第一部分是单词,第二部分是词频,第三部分是词性杨氏聪惠 66666未成弃去‘’’import jieba# 基础分词word_a = '上海自来水来自海上'# word_a = '把汉字串与词典中的词条进行匹配'# word_a = '梁国杨氏子九岁,甚聪惠。...

2020-03-09 18:57:32 537

原创 Anaconda安装jieba包出错,新解决办法

1.下载jieba包:链接:https://pan.baidu.com/s/1BUqQeLOvbccR-Ye-xuv3DA提取码:m4k42.放到Anaconda的pkgs目录下3.打开cmd,进入Anaconda\pkgs的jieba-0.39目录下4.执行命令python.exe setup.py install(注意要写清python.exe在哪个目录,我的是在Anaconda\p...

2020-03-09 18:29:52 1741 3

原创 基于机器学习的线性回归代码

用的是机器学习的LinearRegression,使用了numpy工具,不是tensorflowimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressiondef f1(): # 随机数据产生 np.random.seed(28) ...

2020-03-09 01:43:24 192

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除