机器学习
Meiko丶
这个作者很懒,什么都没留下…
展开
-
tf.Variable与tf.get_variable,tf.variable_scope,tf.name_scope
1. tf.Variable与tf.get_variabletensorflow提供了通过变量名称来创建或者获取一个变量的机制。通过这个机制,在不同的函数中可以直接通过变量的名字来使用变量,而不需要将变量通过参数的形式到处传递。TensorFlow中通过变量名获取变量的机制主要是通过tf.get_variable和tf.variable_scope实现的。当然,变量也可以通过tf.Va...转载 2019-03-06 16:41:29 · 112 阅读 · 0 评论 -
计算图,tensor,session
从TensorFlow这个名字中,我们可以发现,tensor(张量),flow(流),在TensorFlow中两个最重要的概念,一个TensorFlow程序主要是由计算图、张量以及模型回话三个部分组成。一、计算图一个使用TensorFlow编写的程序主要分为两个部分,一个是构建计算图部分,一个是执行计算图。下面,我来构建一个非常简单的计算图。 import tenso...转载 2019-03-06 16:54:54 · 195 阅读 · 0 评论 -
tfrecord文件
在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解。确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料。今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下TensorFlow的数据读取机制,文章的最后还会给出实战代码以供参考。TensorFlow读取机制图解首先需要思考的一个问题是,什么是数据读取?以图像数据为例,读取数据的过程可以用下图来表示...原创 2019-03-04 10:37:25 · 1096 阅读 · 0 评论 -
tensorflow中协调器 tf.train.Coordinator 和入队线程启动器 tf.train.start_queue_runners
# -*- coding:utf-8 -*-import tensorflow as tfimport numpy as np# 样本个数sample_num = 5# 设置迭代次数epoch_num = 2# 设置一个批次中包含样本个数batch_size = 3# 计算每一轮epoch中含有的batch个数batch_total = int(sample_num / b...转载 2019-03-04 14:09:08 · 216 阅读 · 0 评论 -
tensor
TensorFlow简介:官网上对TensorFlow的介绍是,一个使用数据流图(data flow graphs)技术来进行数值计算的开源软件库。数据流图中的节点,代表数值运算;节点节点之间的边,代表多维数据(tensors)之间的某种联系。我们可以在多种设备(含有CPU或GPU)上通过简单的API调用来使用该系统的功能。TensorFlow包含构建数据流图与计算数据流图等基本步骤,图中...原创 2019-03-04 15:22:13 · 254 阅读 · 0 评论 -
t f.train.batch
tf.train.batch( tensors, batch_size, num_threads=1, capacity=32, enqueue_many=False, shapes=None, dynamic_pad=False, allow_smaller_final_batch=False, shared_name=No...原创 2019-03-04 16:33:57 · 162 阅读 · 0 评论 -
tf.GraphKeys和变量初始化
GraphKeystf.GraphKeys包含所有graph collection中的标准集合名,有点像Python里的build-in fuction。首先要了解graph collection是什么。graph collection在官方教程——图和会话中,介绍什么是tf.Graph是这么说的:tf.Graph包含两类相关信息:图结构。图的节点和边缘,指明了各个指令组...原创 2019-03-04 17:06:59 · 2943 阅读 · 0 评论 -
,tf.convert_to_tensor,tf.one_hot,tf.reduce_mean
这是个很有用的函数,我们经常需要将python的数据类型转换成TensorFlow可用的tensor数据类型,所以仔细研究一下这个函数还是很有必要的。参考官方说明文档format:convert_to_tensor(value, dtype=None, name=None, preferred_dtype=None)Args:value: An object whose...原创 2019-03-04 17:19:00 · 301 阅读 · 0 评论 -
t f.constant 和t f.variable
在TensorFlow API中创建常量的函数原型如下所示:tf.constant( value, dtype=None, shape=None, name='Const', verify_shape=False)可以看到第一个值value是必须的,可以是一个数值,也可以是一个列表。如果是数值:tensor=tf.constant(1)为查...原创 2019-03-04 17:50:00 · 417 阅读 · 0 评论 -
reshape(-1),tf.add_to_collection,tf.get_collection
1、要记住,python默认是按行取元素-1是模糊控制的意思 比如人reshape(-1,2)固定2列 多少行不知道结果:2、出错情况>>> a = np.array([[1,2,3], [4,5,6]])>>> np.reshape(a, (3,-1)) # the unspecified value is inferred t...转载 2019-03-07 15:46:01 · 233 阅读 · 0 评论 -
反卷积
直接以一个简单例子描述反卷积过程。假设输入如下:[[1,0,1], [0,2,1], [1,1,0]]反卷积卷积核如下:[[ 1, 0, 1], [-1, 1, 0], [ 0,-1, 0]]现在通过stride=2来进行反卷积,使得尺寸由原来的3*3变为6*6.那么在Tensorflow框架中,反卷积的过程如下(不同框架在裁剪这步可能不一样):反卷积...原创 2019-03-19 17:06:34 · 718 阅读 · 1 评论 -
tensorflow随机数生成函数,常数生成函数
1,tf.random_normaltf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)random_normal: 正态分布随机数,均值mean,标准差stddevrandom_normal2,tf.truncated_normaltf.truncated_no...原创 2019-03-07 17:25:39 · 1045 阅读 · 0 评论 -
形象解释激活函数的作用
首先我们有这个需求,就是二分类问题,如我要将下面的三角形和圆形点进行正确的分类,如下图:利用我们单层的感知机, 用它可以划出一条线, 把平面分割开:上图直线是由得到,那么该感知器实现预测的功能步骤如下,就是我已经训练好了一个感知器模型,后面对于要预测的样本点,带入模型中,如果,那么就说明是直线的右侧,也就是正类(我们这里是三角形),如果,那么就说明是直线的左侧,也就是负类(我...转载 2019-03-11 10:22:55 · 246 阅读 · 0 评论 -
tensorflow滑动平均模型
ExponentialMovingAverage()对每一个变量会维护一个影子变量shadow variable 这个影子变量的初始值就是相应变量的初始值,而每次运行变量跟新的时候影子变量就会跟新为:shadow_variable=decay*shadow_variable+(1-decay)*variableshadow_variable是影子变量,decay是衰减率,variable为...原创 2019-03-11 18:11:28 · 280 阅读 · 0 评论 -
卷积神经网络,卷积和池化
卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。CNN最早由Yann LeCun提出并应用在手写字体识别上(MINST)。LeCun提出的网络称为LeNet,其网络结构如下:这是一个最典型的卷积网络,由卷积层、池化层、全连接层组成。其中卷积层与池化层配合,组成多个卷积组,逐层...原创 2019-03-13 11:15:10 · 4354 阅读 · 0 评论 -
tf.name_scope()和tf.variable_scope()
tf.name_scope()和tf.variable_scope()是两个作用域,一般与两个创建/调用变量的函数tf.variable() 和tf.get_variable()搭配使用。tf.name_scope和variable_scope也是个作为上下文管理器的角色,下文管理器:意思就是,在这个管理器下做的事情,会被这个管理器管着。一.name_scope 和 variable_s...原创 2019-03-21 17:42:46 · 150 阅读 · 0 评论 -
矩阵的秩
矩阵的秩矩阵Am×n的秩定义为该矩阵中线性无关的行数和列数。秩的性质:秩是一个正整数。秩等于或小于矩阵的行数和列数。当n×n矩阵A的秩等于n时,则称A是非奇异矩阵,或称A满秩。若rank(Am×n)<min{m,n},则称A是秩亏缺的。若rank(Am×n)=m(<n),则称矩阵A具有满行秩。若rank(Am×n)=n(<m),则称矩阵A具有满列秩。...原创 2019-03-06 15:16:14 · 7592 阅读 · 0 评论 -
tf.tile,tf.gather,t f.concat,t f .expand_dims,tf.add_n, tf.stack,tf.sparse_to_dense
temp = tf.range(0,10)*10 + tf.constant(1,shape=[10])temp2 = tf.gather(temp,[1,5,9])with tf.Session() as sess: print (sess.run(temp)) print (sess.run(temp2))输出结果[ 1 11 21 31 41 51 61 ...原创 2019-03-06 14:36:44 · 372 阅读 · 0 评论 -
python中pandas包中的DataFrame有关操作iloc与.loc
import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))print(df)df得到的数据是 a b c0 0 2 41 6 8 102 12 14 163 18 20 ...原创 2019-02-27 18:03:34 · 1265 阅读 · 0 评论 -
numpy的ravel() 和 flatten()函数
首先声明两者所要实现的功能是一致的(将多维数组降位一维)。这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平)。两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味)...转载 2019-02-27 18:17:57 · 171 阅读 · 0 评论 -
Python中辨析type/dtype/astype用法
Python中与数据类型相关函数及属性有如下三个:type/dtype/astype。名称 描述type() 返回参数的数据类型dtype 返回数组中元素的数据类型astype() 对数据类型进行转换type()用于获取数据类型#type用于获取数据类型import numpy as npa=[1,2,3]print(type(a))#...原创 2019-02-27 18:22:31 · 10585 阅读 · 0 评论 -
【NumPy】 之常见运算(np.around、np.floor、np.ceil、np.where,n p.arange,np.dot)
aroundnp.around 返回四舍五入后的值,可指定精度。around(a, decimals=0, out=None)a 输入数组decimals 要舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置·# -*- coding: utf-8 -*-"""@author: tz_zs"""import numpy as npn =...转载 2019-02-27 18:23:25 · 1986 阅读 · 0 评论 -
Tensorflow函数:tf.zeros ,tf.argmax
tf.zeros函数tf.zeros( shape, dtype=tf.float32, name=None)定义在:tensorflow/python/ops/array_ops.py.创建一个所有元素都设置为零的张量.该操作返回一个带有形状shape的类型为dtype张量,并且所有元素都设为零.例如:tf.zeros([3, 4], tf...转载 2019-02-27 18:28:14 · 482 阅读 · 0 评论 -
理解Tensorflow的shape
Tensorflow中的shape应该怎么理解,怎么记住呢? x = tf.placeholder(tf.float32, shape=[1,2,3] )以上面这段代码为例为例。首先,单看[1,2,3],这是1维的,但它作为shape时,代表要传入的数据必须是个3维的,这点首先要明白,自己理解一下。Tensorflow和numpy一样,读shape时应该从外向内读。先举...转载 2019-02-27 18:36:31 · 879 阅读 · 0 评论 -
n p.random
返回值: np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是5,步长为1。参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况1)一个参数时,参数值为终点,起点取默认值0,步长取默认值1。2)两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1。3)三个参数时,第...原创 2019-03-05 10:23:02 · 217 阅读 · 0 评论 -
tf.random_uniform, tf.data.Dataset.from_tensor_slices,tf.data.Dataset.range
tf.random_uniform((4, 4), minval=low,maxval=high,dtype=tf.float32)))返回4*4的矩阵,产生于low和high之间,产生的值是均匀分布的。例如:import tensorflow as tfimport numpy as npwith tf.Session() as sess: print(sess.run(...原创 2019-03-05 10:56:52 · 242 阅读 · 0 评论 -
tensorflow dataset.shuffle dataset.batch dataset.repeat
batch很好理解,就是batch size。注意在一个epoch中最后一个batch大小可能小于等于batch sizedataset.repeat就是俗称epoch,但在tf中与dataset.shuffle的使用顺序可能会导致个epoch的混合dataset.shuffle就是说维持一个buffer size 大小的 shuffle buffer,图中所需的每个样本从shuffle ...转载 2019-03-05 11:32:00 · 504 阅读 · 0 评论 -
交叉熵
一.什么是交叉熵交叉熵是一个信息论中的概念,它原来是用来估算平均编码长度的。给定两个概率分布p和q,通过q来表示p的交叉熵为: 注意,交叉熵刻画的是两个概率分布之间的距离,或可以说它刻画的是通过概率分布q来表达概率分布p的困难程度,p代表正确答案,q代表的是预测值,交叉熵越小,两个概率的分布约接近。 那么,在神经网络中怎样把前向传播得到的结果也变成概率分布呢?...原创 2019-02-26 16:11:12 · 14439 阅读 · 4 评论 -
sigmoid函数和softmax函数
sigmoid函数(也叫逻辑斯谛函数): 引用wiki百科的定义: A logistic function or logistic curve is a common “S” shape (sigmoid curve). 其实逻辑斯谛函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。 logistic曲线如下: 同样,我们贴一下wi...原创 2019-02-26 16:37:25 · 2197 阅读 · 0 评论 -
向量的内积,欧式空间,读热编码
向量的内积(点乘)定义概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b: a和b的点积公式为:这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量)定义:两个向量a与b的内积为 a·b = |a||b|cos∠(a, b),特别地,0·a =a·0 = ...原创 2019-02-27 10:13:28 · 1214 阅读 · 0 评论 -
tf.segment_sum和tf.unsorted_segment_sum
c = tf.constant([[1,2,3,4], [-1,-2,-3,-4], [5,6,7,8]])result = tf.segment_sum(c, tf.constant([0, 0, 1]))#第二个参数长度必须为3result_ = tf.segment_sum(c, tf.constant([0, 1, 1]))result__ = tf.segment_sum(c, ...原创 2019-03-06 11:22:38 · 616 阅读 · 0 评论 -
tf.data
注意,在TensorFlow 1.3中,Dataset API是放在contrib包中的:tf.contrib.data.Dataset而在TensorFlow 1.4中,Dataset API已经从contrib包中移除,变成了核心API的一员:tf.data.Dataset此前,在TensorFlow中读取数据一般有两种方法:使用placeholder读内...原创 2019-03-08 16:29:52 · 599 阅读 · 0 评论 -
tf.nn.dropout
tf.nn.dropout函数首先看官方函数定义:def dropout(x, keep_prob, noise_shape=None, seed=None, name=None)输入是:x,你自己的训练、测试数据等 keep_prob,dropout概率 ……,其它参数不咋用,不介绍了输出是:A Tensor of the same shape of x然后我们看...原创 2019-03-13 16:04:45 · 1656 阅读 · 0 评论