TensorFlow2.0
文章平均质量分 71
TensorFlow2.0学习笔记
北航_Curry
记录、分享学习java后端的一些总结笔记和心得
展开
-
TensorFlow2.0学习笔记——简单的线性回归实战
代码:import tensorflow as tfimport numpy as np# 前期准备---数据处理:归一化x_row = np.array([2013, 2014, 2015, 2016, 2017], dtype=np.float32)y_row = np.array([12000, 14000, 15000, 16500, 17500], dtype=np.float32)# 数据归一化需要用np容器类型的数据,因为TensorFlow没有x.min和x.max操作原创 2020-09-27 21:33:47 · 1119 阅读 · 0 评论 -
TensorFlow2.0学习笔记--自动求导机制
错误示例:以上代码报错:应该是因为对函数求导时,两个变量应该放一起求导,不能两个分别求导正确代码:import tensorflow as tfx = tf.constant([[1., 2.], [3., 4.]])y = tf.constant([[1.], [2.]])w = tf.Variable(initial_value=[[1.], [2.]])b = tf.Variable(initial_value=1.)with tf.GradientTape(..原创 2020-09-27 19:43:37 · 142 阅读 · 1 评论 -
TensorFlow2.0笔记-mnist实战
import tensorflow as tf(x, y), (x_test, y_test) = tf.keras.datasets.mnist.load_data()# tensorflow中的Keras.datasets中提供了常用的经典数据集比如手写数字数据集mnist,加载后默认保存到C:\Users\Administrator\.keras# 通过load_data会返回相应格式的数据,返回两个元组tuple,即(x, y), (x_test, y_test),数据都用numpy.ar.原创 2020-09-23 22:53:00 · 615 阅读 · 0 评论 -
TensorFlow笔记:张量的典型应用
图片数量b的存在是因为神经网络中一般并行计算多个输入以提高计算效率索引与切片:原创 2020-09-22 21:11:08 · 241 阅读 · 0 评论 -
TensorFlow2.0笔记 张量的创建
创建张量:将list容器内的类型数据转化为张量:a = tf.constant( [1, 2, 3] )a = tf.variable( [1, 2, 3] )a = tf.convert_to_tensor( [1, 2, 3] )将numpy.array容器内的数据转化成张量:a = tf.constant( np.array[1, 2, 3] )a = tf.variable( np.array[1, 2, 3] )a = tf.convert_to_ten..原创 2020-09-22 20:53:07 · 197 阅读 · 1 评论 -
TensorFlow基础-数据类型
向量类型张量:比如向量(1,2,2,5,6)和(1,2),只要它是一个向量,维度都是1,但是shape=[n]不一样,注意区分维度和shape张量只能通过TensorFlow来创建,不能通过python的语法创建实例: a = tf.constant(1.0) 即创建了一个张量(标量) shape为【】 维度为0向量类型张量:向量只可以通过数组list的形式进行创建a = tf.constant ( [1.] ) 一个元素的向量 一维 sha...原创 2020-09-22 20:12:20 · 221 阅读 · 0 评论 -
TensorFlow学习笔记-独热编码
原创 2020-09-21 21:47:35 · 552 阅读 · 0 评论 -
TensorFlow学习笔记-神经元模型的数学形式
如果只有一个神经元节点时,输入输出表达式可以写成:(Xi代表多个输入,一个输出y)考虑同时输入两个训练样本,同时也可充分利用张量计算的并 行加速能力,样本分别为和当有多个节点,即有多个输出时:...原创 2020-09-21 21:45:24 · 843 阅读 · 0 评论 -
np.random.randint()的用法
函数的作用是,返回一个随机整型数,其范围为[low, high)。如果没有写参数high的值,则返回[0,low)的值。参数如下:low: int 表示生成的数值大于等于low。 (hign = None时,生成的数值要在[0, low)区间内) high: int (可选) 如果使用这个值,则生成的数值在[low, high)区间 size: int or tuple of ints(可选) 输出随机数组的尺寸,比如size = (m, n, k),则输出数组的shape = (m..转载 2020-08-13 17:57:25 · 60517 阅读 · 7 评论 -
np.expand_dims的用法
np.expand_dims(a,axis=?)即扩展维度,np.expand_dims(a,axis=)即在 a 的相应的axis轴上扩展维度a = np.array([[1,2],[3,5]])y = np.expand_dims(a, axis=2)z = np.expand_dims(a, axis=1)print(a.shape)print(y.shape)print(z.shape)输出(2, 2)(2, 2, 1)(2, 1, 2)y 变成了[[ [1],..原创 2020-08-13 17:36:15 · 21567 阅读 · 7 评论 -
梯度下降算法以及其在线性回归的应用
馨馨可可爱爱原创 2020-08-02 19:00:29 · 196 阅读 · 1 评论 -
TensorFlow文档学习
原创 2020-08-02 18:58:53 · 127 阅读 · 0 评论 -
用pycharm配置好anaconda后,调用 tensorflow总是显示No module named tensorflow
在装好anaconda以后,又装了pycharm。但是在调用anaconda的包的时候显示module ImportError: No module named后来发现是配置python解释器路径的时候出了错点file,在点settings再点project Interpreter 发现路径设置上python.exe不是anaconda下的,而是anaconda下生成的一个子文件夹下面的(这个子文件夹应该是我创建工程的时候自动生成的,但是为什么会...原创 2020-07-30 11:06:40 · 526 阅读 · 1 评论 -
TensorFlow使用——如何在pycharm内使用anaconda内创建的隔离环境
TensorFlow是谷歌推出的深度学习框架或者平台,分为CPU和GPU版本,CPU版本处理速度低,GPU版本处理速度高1. 新建工程2. 点开 project interpreter3. 平时创建时勾选第一个,这里勾选第二个,点开右边的 ...,里面就有你再anaconda里创建的隔离环境了4.新建项目...原创 2020-07-27 17:41:58 · 255 阅读 · 0 评论 -
TensorFlow2.0学习笔记---early stopping和dropout
early stopping:跟验证集validation有关,利用验证集来做测试,在做交叉验证的时候会有一个val的loss和acc曲线,根据这个曲线会自动earlystop因为一般认为在验证时,val的acc曲线先上升,保持一段时间,然后可能因为过拟合再下降。当val的acc曲线上升之后保持一段时间之后开始下降,根据一般经验来说下降之后不会再上升到比原来还高的acc,所以在acc下降前及时early stop。dropout层:dropout层就是在训练trai...原创 2020-10-14 16:14:54 · 1526 阅读 · 0 评论 -
TensorFlow2.0学习笔记---学习率衰减
在梯度下降的时候,如果学习率learning rate 太低会导致梯度更新次数很多次才能到最低点(图一)学习率learning rate 太高会导致梯度更新时一直震荡不能到最低点学习率衰减学习率在梯度下降时一开始可以大,但是后面要慢慢变小,在尽可能短的时间内达到最小点。...原创 2020-10-14 15:32:14 · 832 阅读 · 0 评论 -
TensorFlow2学习笔记--过拟合和欠拟合
过拟合:overfitting,train的效果很好,但是test时不行,因为模型复杂度太高,因为数据都会有一些随机的噪声,模型过度拟合带噪声的数据,导致test时拟合不好欠拟合:underfiting,train和test的loss一直下不去,而且acc也差,往往是因为模型复杂度小于实际数据的复杂度。多项式阶数越高的模型能拟合表达的就越复杂,网络越深,参数越多,模型的表达能力也越强下图就是一个典型的过拟合,train的表现很好,但是在某个节点后面,由于模型过于复杂,拟合..原创 2020-10-14 15:05:22 · 435 阅读 · 0 评论 -
TensorFlow2.0学习笔记-----感知机及其梯度
单层感知机模型:原创 2020-10-11 15:36:46 · 118 阅读 · 0 评论 -
TensorFlow2.0学习笔记-----前向传播实战
本文只有训练过程,用最基础的方式即张量运算的方式来实现,并不用既定的层方式来实现网络。任务:代码:import tensorflow as tfimport numpy as npimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'# '0'代表所有信息都打印出来 '2'代表只打印error。可以方便我们查看打印的信息(x, y), _ = tf.keras.datasets.mnist.load_data()# 只加载训练数据原创 2020-10-10 15:46:58 · 371 阅读 · 0 评论 -
TensorFlow2.0学习笔记---broadcasting
之前遇到过一个问题,w@x +b 时, w@x.shape = [b,10] b.shape = [10] ,两个shape不一样的矩阵在数学上是不能相加的,但是为什么在TensorFlow这里可以相加呢,?broadcasting就是解决这个问题的。从这个图中可以看出来,broadcasting的操作是将两个shape不同的矩阵进行数据平移复制,从而使他们可以相加。 shape中,靠右的维度是小维度,靠左的维度是大维度。从上面两个例子可...原创 2020-10-09 17:24:32 · 175 阅读 · 0 评论 -
TensorFlow2.0学习笔记-----维度变换
1. 对图片信息可以有下面四种理解方式:[b, 28*28]: b代表batch-图片的数量,28*28是把图片所有像素变成了一个轴axis来理解[b, 2,14*28]:表示把图片分成了上下两部分,每一部分当成一个单独的轴axis2.reshape函数-1代表不需要自己去计算这个位置是多少尺寸,系统根据reshape里其他参数和图片原来的尺寸来自动设置reshape操作经常在全连接层前遇到,把图片变成一个向量来储存...原创 2020-10-08 23:05:19 · 338 阅读 · 0 评论 -
TensorFlow2.0学习笔记-----索引与切片
1. 索引a = tf.ones([1,5,5,3]) 创建一个shape为[1,5,5,3]的全1张量,可以理解为一张图片,大小5x5,有三个通道a[1,2]和a[1][2]是同一种索引方式的不同表达形式,都可以a[1,2]输入numpy风格的索引2.切片:前后分别是start和end;代表该维度的所有值都取...原创 2020-10-08 21:02:38 · 137 阅读 · 0 评论 -
TensorFlow2.0学习笔记------基础知识
1.以下三种数据容器的区别list数组是python内置的一种数据容器,list中可以同时存放不同类型的数据,比如标量,矩阵,元组。但是当对于存放大量的相同类型的数据时,比如说一张图片,进行数据读写的效率会变低。np.array和tf.Tensor是用来专门存放大量相同数据类型的容器,分别在CPU和GPU上进行运算2.创建tensor张量不加 . 时默认创建int32类型。 加 . 时默认创建float32类型。用 dtype = tf.double 或 dtype = ..原创 2020-10-07 14:22:23 · 189 阅读 · 0 评论 -
TensorFlow2.0学习笔记---tensorboard可视化
1.实时查看参数变化情况1.1首先在pacharm程序文件夹里创建一个空文件夹用来存放tensorboard的记录文件,并在代码中实例化一个记录器:summary_writer = tf.summary.create_file_writer('./tensorboard') # 参数为记录文件所保存的目录注意此段代码要放在训练过程之前,括号中的引号内要放记录文件的全地址,地址前面加r1.2接下来,当需要记录训练过程中的参数时,通过 with 语句指定希望使用的记录器,并对需原创 2020-10-06 10:04:38 · 1690 阅读 · 4 评论 -
TensorFlow2.0学习笔记--使用 Keras Model 的 compile 、 fit 和 evaluate 方法训练和评估模型
1. 数据集中图片和标签都需要转换成np类型的数据,图片转化为np.float32,标签转化成np.int32。2.原创 2020-10-05 13:55:31 · 1763 阅读 · 0 评论 -
TensorFlow2.0学习笔记----利用自定义类方式的CNN来识别mnist数据集
Keras Pipeline *# 使用了 Keras 的 Subclassing API 建立模型,即对 tf.keras.Model 类进行扩展以定义自己的新模型,同时手工编写了训练和评估模型的流程。# 这种方式灵活度高,且与其他流行的深度学习框架(如 PyTorch、Chainer)共通,是本手册所推荐的方法。# 不过在很多时候,我们只需要建立一个结构相对简单和典型的神经网络(比如上文中的 MLP 和 CNN),并使用常规的手段进行训练。# 这时,Keras 也给我们提供了另一套更为简单高..原创 2020-10-04 14:25:27 · 864 阅读 · 1 评论 -
TensorFlow学习笔记--MLP多层感知机识别手写数字1-9
# 简单粗暴tensorflow2.0合集 视频p7-p9 多层感知机(MLP)利用多层感知机MLP实现手写数字0-9的mnist数据集的识别import tensorflow as tfimport numpy as np# 数据的获取和预处理class MNISTLoader(): def __init__(self): mnist = tf.keras.datasets.mnist (self.train_data, self.train_lab.原创 2020-09-30 14:06:03 · 1441 阅读 · 0 评论