
Tensorflow学习笔记
Tensorflow学习笔记
Soyoger
申明:个人微信公众号:AI技术研习社,公众号ID:ai2club。本博客只是用来学习,并不从事任何商业活动,其内容是自己总结或者来自互联网搜索到的,并没有过多关注版权问题,如有侵权内容,请私信我进行删除,谢谢。本博客内容主要围绕计算机领域热点技术和工作内容,不涉及版权问题,任何人可以查看、转载。
展开
-
Keras在mnist上的CNN实践,并且自定义loss函数曲线图
使用keras实现CNN,直接上代码:from keras.datasets import mnistfrom keras.models import Sequentialfrom keras.layers import Dense, Dropout, Activation, Flattenfrom keras.layers import Convolution2D, MaxPooling2...原创 2018-05-03 17:15:27 · 2119 阅读 · 3 评论 -
Keras笔记(一)一些基本概念
1. tensor 张量张量,或tensor。规模最小的张量是0阶张量,即标量,也就是一个数。当我们把一些数有序的排列起来,就形成了1阶张量,也就是一个向量如果我们继续把一组向量有序的排列起来,就形成了2阶张量,也就是一个矩阵把矩阵摞起来,就是3阶张量,我们可以称为一个立方体,具有3个颜色通道的彩色图片就是一个这样的立方体。张量的阶数有时候也称为维度,或者轴,轴这个词翻译自原创 2017-07-03 18:19:48 · 703 阅读 · 0 评论 -
Keras笔记(一)关于Keras模型
Keras有两种类型的模型,序贯模型(Sequential)和函数式模型(Model),函数式模型应用更为广泛,序贯模型是函数式模型的一种特殊情况。两类模型有一些方法是相同的:model.summary():打印出模型概况model.get_config():返回包含模型配置信息的Python字典。模型也可以从它的config信息中重构回去。config = mod原创 2017-07-04 20:56:47 · 1295 阅读 · 0 评论 -
TensorFlow学习笔记(二十八)CNN的9大模型之AlexNet
本文出自NIPS2012,作者是大神Alex Krizhevsky,属于多伦多大学Hinton组。概述本文提出的神经网络结构被成为AlexNet,在我最近的研究学习中发现,这一结构及其变种在很多任务中都有使用,回过头来重温一下这篇论文仍然是有必要的。归根到底,本文网络结构相对较浅,而且能够提取到比较丰富的特征,而很多任务的数据集无法达到ImageNet的规模,使用AlexNet是比较好的特原创 2017-08-20 11:54:10 · 3572 阅读 · 1 评论 -
TensorFlow学习笔记(二十四)自制TFRecord数据集 读取、显示及代码详解
在跑通了官网的mnist和cifar10数据之后,笔者尝试着制作自己的数据集,并保存,读入,显示。 TensorFlow可以支持cifar10的数据格式, 也提供了标准的TFRecord 格式,而关于 tensorflow 读取数据, 官网提供了3中方法1 Feeding: 在tensorflow程序运行的每一步, 用python代码在线提供数据2 Reader : 在一个计算图(tf.g原创 2017-08-18 10:29:03 · 17838 阅读 · 29 评论 -
TensorFlow学习笔记(二十五)CNN的9大模型
接触深度学习已经有半年了,从最开始的caffe到后来的keras,前面2个框架差不多就是配好环境,并没有做什么东西,后来google的tensorflow,我驻足在这里,决定多花点时间,写点demo,也体验一下,最开心的事是TensorflowOnSpark开源,spark的学习使用我已经有接近一年的经验了,项目中也在使用,这样tensorflowOnSpark打通,未来可以做很多事,也许有人会说原创 2017-08-18 11:47:10 · 1198 阅读 · 0 评论 -
TensorFlow学习笔记(二十六)CNN的9大模型之LeNet5的原理讲解
在机器视觉,图像处理领域,卷积神经网络取得了巨大的成功。本文将参考UFLDL和DEEPLEARNING.NET的教程,结合自己的理解,梳理一下卷积神经网络的构成以及其BP算法的求解。虽然利用theano可以方便的实现LeNet5,但是不利于学习和理解卷积神经网络,所以最后会自己动手用Python实现一个简单的LeNet5,并尝试利用python的PyCUDA库进行加速。LeNet-5共原创 2017-08-18 15:39:55 · 4575 阅读 · 0 评论 -
TensorFlow学习笔记(二十七)CNN的9大模型之Dan CiresanNet
我在网上找了一下Dan CiresanNet相关的资料,貌似不是很多,大多数内容来自文章。2010 年的时候,Dan Claudiu Ciresan 和 Jurgen Schmidhuber 发布了最早的 GPU 神经网络的一个实现。这个实现是在一块 NVIDIA GTX 280 图形处理器上运行 9 层的神经网络,包含前向与反向传播。2010年Dan Claudiu Ciresan和原创 2017-08-20 11:02:59 · 1741 阅读 · 0 评论 -
TensorFlow学习笔记(一)安装、配置、基本用法
1. 安装用conda install tensorflow 即可,注意,这里的python是3.6。基于 Anaconda 的安装 Anaconda 是一个集成许多第三方科学计算库的 Python 科学计算环境,Anaconda 使用 conda 作为自己的包管理工具,同时具有自己的计算环境,类似 Virtualenv.和 Virtualenv 一样,不同 Python原创 2017-07-11 21:47:39 · 1649 阅读 · 0 评论 -
TensorFlow学习笔记(二)MNIST入门
MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片:它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。在此教程中,我们将训练一个机器学习模型用于预测图片里面的数字。我们的目的不是要设计一个世界一流的复杂模型 -- 尽管我们会在之后给你源代码去实现一流的预测模型 -- 而是要介绍下如何使用TensorFlow。所以,我们原创 2017-07-13 23:51:24 · 1205 阅读 · 0 评论 -
TensorFlow学习笔记(三)模型的基本步骤
在本教程中,我们将学到构建一个TensorFlow模型的基本步骤,并将通过这些步骤为MNIST构建一个深度卷积神经网络。安装 在创建模型之前,我们会先加载MNIST数据集,然后启动一个TensorFlow的session。加载MNIST数据 为了方便起见,我们已经准备了一个脚本来自动下载和导入MNIST数据集。它会自动创建一个'MNIST_data'的目录来存储数据。i原创 2017-07-18 22:22:52 · 3129 阅读 · 0 评论 -
如何在多版本anaconda python环境下转换spyder?
使用anaconda的话,可以参考以下步骤:1、打开anaconda navigator,选择左侧的环境菜单 Environments,在中间会列出当前已经配置好的各种环境名称,如root、tensorflow等2、在中间环境列表框下边,选择创建 Create,创建新的环境和对应配置,在这里,你可以命名自己的环境名称,选择python的版本等,然后点击创建,完成新的环境设置。原创 2017-07-20 09:50:33 · 9597 阅读 · 0 评论 -
TensorFlow学习笔记(四)自己动手求Weights和biases
这里自己构造一些数据,求Weights和biases源码:import tensorflow as tfimport numpy as np# create datax_data = np.random.rand(100).astype(np.float32)y_data = x_data*0.1 + 0.3### create tensorflow str原创 2017-07-27 16:53:35 · 4893 阅读 · 1 评论 -
TensorFlow学习笔记(五)Session的2种用法
创建一个tf.Session,用于运行图表给一个例子:import tensorflow as tfmatrix1 = tf.constant([[3, 3]])matrix2 = tf.constant([[2], [2]])product = tf.matmul(matrix1, matrix2) # matrix mu原创 2017-07-27 17:54:19 · 874 阅读 · 0 评论 -
TensorFlow学习笔记(六)Variable变量
tf.Variable一个变量通过调用run() 方法维持图的状态。你通过构造variable 类的实例来添加一个变量到图中。Variable() 构造器需要一个初始值,可以是任意类型和shape 的Tensor。初始值定义了变量的type和shape。构造完成之后,变量的type和shape 是固定的。可以使用assign 方法来修改变量的值。如果你想修改变量的shape,你必须使用原创 2017-07-28 09:59:08 · 2457 阅读 · 0 评论 -
TensorFlow学习笔记(七)feeds操作
在说feeds操作之前,先讲一下tf.placeholder(dtype, shape=None, name=None),真正在feeds时不必指定初始值,可在运行时,通过 Session.run 的函数的 feed_dict 参数指定;参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型shape:数据形状。默认是None,就是一维值,原创 2017-07-28 11:13:15 · 1851 阅读 · 0 评论 -
TensorFlow学习笔记(八)add_layer操作
这里只是给神经网络定义一个函数,目的是添加一层网络import tensorflow as tfdef add_layer(inputs, in_size, out_size, activation_function=None): Weights = tf.Variable(tf.random_normal([in_size, out_size])) biase原创 2017-07-28 13:46:47 · 5072 阅读 · 1 评论 -
TensorFlow学习笔记(九)tf搭建神经网络基本流程
1. 搭建神经网络基本流程定义添加神经层的函数1.训练的数据2.定义节点准备接收数据3.定义神经层:隐藏层和预测层4.定义 loss 表达式5.选择 optimizer 使 loss 达到最小然后对所有变量进行初始化,通过 sess.run optimizer,迭代 1000 次进行学习:import tensorflow as tfimport numpy as原创 2017-07-28 14:28:49 · 2561 阅读 · 2 评论 -
TensorFlow学习笔记(十)tf搭建神经网络可视化结果
代码"""Please note, this code is only for python 3+. If you are using python 2+, please modify the code accordingly."""import tensorflow as tfimport numpy as npimport matplotlib.pyplot as原创 2017-07-28 14:55:14 · 1389 阅读 · 0 评论 -
TensorFlow学习笔记(十一)读取自己的数据进行训练
1. 回归小例子数据csv文件读取x,y1,24,56,113,64,75,127,1310,2111,2324,5045,8950,10155,11160,12370,13980,16485,17190,19295,190100,199200,4011000,2000代码:# -*- codi原创 2017-07-28 16:46:00 · 1269 阅读 · 0 评论 -
TensorFlow学习笔记(十二)TensorFLow tensorBoard 总结
Tensorboard:如何更直观的观察数据在神经网络中的变化,或是已经构建的神经网络的结构。上一篇文章说到,可以使用matplotlib第三方可视化,来进行一定程度上的可视化。然而Tensorflow也自带了可视化模块Tensorboard,并且能更直观的看见整个神经网络的结构。上面的结构图甚至可以展开,变成:如何在event文件中添加自己想要可视化的数据:a原创 2017-08-05 10:58:53 · 4819 阅读 · 0 评论 -
TensorFlow学习笔记(十三)TensorFLow 常用Optimizer 总结
这里主要是各种优化器,以及使用。因为大多数机器学习任务就是最小化损失,在损失定义的情况下,后面的工作就交给优化器啦。 因为深度学习常见的是对于梯度的优化,也就是说,优化器最后其实就是各种对于梯度下降算法的优化。常用的optimizer类Ⅰ.class tf.train.Optimizer优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API原创 2017-08-05 11:14:09 · 22363 阅读 · 2 评论 -
TensorFlow学习笔记(十四)TensorFLow 用mnist数据做classification
之前的例子,给的都是tf来做regression,也就是回归问题,现在用tf来做一个classification的处理,也就是分类问题。这里用的数据集是mnist数据。代码: """Please note, this code is only for python 3+. If you are using python 2+, please modify the code原创 2017-08-05 11:35:32 · 1159 阅读 · 4 评论 -
TensorFLow 常用错误总结
由于版本问题,一些名称修改:tf.scalar_summary('images', images)改为:tf.summary.scalar('images', images)tf.image_summary('images', images)改为:tf.summary.image('images', images)tf.train.SummaryWriter改为:tf.summar原创 2017-08-05 11:49:54 · 1023 阅读 · 0 评论 -
TensorFlow学习笔记(十五)TensorFLow 用mnist数据做CNN
"""#Please note, this code is only for python 3+. If you are using python 2+, please modify the code accordingly."""import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input原创 2017-08-05 13:21:34 · 1113 阅读 · 0 评论 -
TensorFlow学习笔记(十六)tf.random_normal
W1 = tf.Variable(tf.random_normal([3, 3, 1, 32], stddev=0.01)),对于函数tf.random_normal解释如下:tf.random_normaltf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)O原创 2017-08-17 12:57:53 · 4811 阅读 · 1 评论 -
TensorFlow学习笔记(十七)tf.nn.conv2d
在给定的4D input与filter下计算2D卷积输入shape为[batch, height, width, in_channels]TensorFlow的CNN代码中有tf.nn.conv2d(X, W1, strides=[1, 1, 1, 1], padding='SAME') 这样一句,本文介绍tf.nn.conv2d的用法:tf.nn.c原创 2017-08-17 13:15:03 · 1015 阅读 · 1 评论 -
TensorFlow学习笔记(十八)tf.reshape矩阵变形
tf.reshape(tensor, shape, name=None)矩阵变形是常用的操作,在Tensorflow中调用方式有多种,例如:1. tf.reshapetf.reshape(L3, [-1, W4.get_shape().as_list()[0]]) 2. object.reshapemnist.test.images.reshape(-原创 2017-08-17 13:22:04 · 8261 阅读 · 3 评论 -
TensorFlow学习笔记(十九) 基本算术运算和Reduction归约计算
基本运算,变量由tf.constant函数转化为1阶张量。然后计算;现在用tf.reduce_prod()和tf.reduce_sum()函数重新定义,当给定某个tensor张量作为输入时,这些函数会接收其所有分量,然后分别将它们相乘或相加。1. 基本算术运算tf.add(x, y, name=None)求和tf.sub(x, y, name=None)减法tf.m原创 2017-08-17 13:45:34 · 1637 阅读 · 0 评论 -
TensorFlow学习笔记(二十) tensorflow实现简单三层网络
代码:import tensorflow as tfw1= tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))w2= tf.Variable(tf.random_normal([3, 1], stddev=1, seed=1))x = tf.constant([[0.7, 0.9]]) a = tf.原创 2017-08-17 14:23:31 · 1662 阅读 · 0 评论 -
TensorFlow学习笔记(二十一) tensorflow机器学习模型
直接给出一般的通用编程模型,并通过2个例子来看看使用情况。#tensorflow编程模型import tensorflow as tf# define the training loop operationsdef inference(X): # compute inference model over data X and return the result r原创 2017-08-17 15:48:26 · 2895 阅读 · 0 评论 -
TensorFlow学习笔记(二十二) tensorflow数据读取方法总结
Tensorflow的数据读取有三种方式:1. Preloaded data: 预加载数据 。2. Feeding: Python产生数据,再把数据喂给后端。3. Reading from file: 从文件中直接读取。这三种有读取方式有什么区别呢? 我们首先要知道TensorFlow(TF)是怎么样工作的。TF的核心是用C++写的,这样的好处是运行快,缺点是调用不灵活。而原创 2017-08-17 16:13:30 · 5985 阅读 · 0 评论 -
TensorFlow学习笔记(二十三)四种Cross Entropy交叉熵算法实现和应用
交叉熵(Cross-Entropy)交叉熵是一个在ML领域经常会被提到的名词。在这篇文章里将对这个概念进行详细的分析。1.什么是信息量?假设X是一个离散型随机变量,其取值集合为X,概率分布函数为p(x)=Pr(X=x),x∈X,我们定义事件X=x0的信息量为:I(x0)=−log(p(x0)),可以理解为,一个事件发生的概率越大,则它所携带的信息量就越小,而当p(x0)=1原创 2017-08-18 09:04:04 · 2455 阅读 · 0 评论