TensorFlow2.0学习笔记

向AI转型的程序员都关注了这个号????????????

机器学习AI算法工程   公众号:datayx

ensorFlow2.0学习笔记地址

https://blog.csdn.net/abc13526222160/article/details/101938410

TensorFlow2.0笔记1: Tensorflow2.0正式版(2019-10-1)介绍以及安装+Windows&Linux!

目录

一. TensorFlow2.0正式版发布

1.1. TensorFlow2.0介绍

1.2. TensorFlow2.0学习建议

二. TensorFlow2.0框架3大优势

2.1. GPU加速功能

2.2. 自动求导功能

2.3. 神经网络API

三. 首先安装CUDA+CUDNN

3.1. Win10安装CUDA+CUDNN

3.2. Linux安装CUDA+CUDNN

四. 安装Anconda

4.1. Win10安装Anconda

4.2. Linux安装Anconda

五. TensorFlow2.0正式版安装

5.1. 首先配置清华镜像源

5.2. 安装TensorFlow2.0

六. TensorFlow2.0实战Mnist数据集

6.1. TensorFlow2.0代码

6.2. 代码执行结果

TensorFlow2.0笔记2:Numpy—实现线性回归问题!

目录

    • 一. 整体思路分析

      • 1.1. 步骤1:计算损失函数

      • 1.2. 步骤2:损失函数的梯度

      • 1.3. 步骤3:设定w=w' 和循环

    • 二. 代码综合梳理

      • 2.1. 程序运行结果

      • 2.2. 实验的数据集

    • 三. 知识补充

      • 3.1. 补充:matplotlib可视化

      • 3.2. 线性回归的理解

TensorFlow2.0笔记3:手写数字(MNIST)识别问题初体验!

目录

    • 一. 整体思路解读

      • 1.1. mnist数据集分析

      • 1.2. 准备网络结构和优化器

      • 1.3. 计算输出值和损失值

    • 二、附录:代码实现

      • 2.1、python代码

      • 2.2. 运行结果

TensorFlow2.0笔记4:TensorFlow2.0的基础操作!

文章目录

一. 数据容器

二. What's tensor

三. Tensor 类型

四. 创建 tensor

五. Tensor 属性

六. 检查 tensor 类型

七. 类型转换

7.1. int 和 bool 之间转换

7.2. tf.Variable() 和 tensor转换为numpy

八. 创建Tensor

8.1. 大纲

8.2. numpy,list中得到tensor

8.3. tf.zeros() 和 tf.zeros_like()

8.4. Fill

8.5. 随机初始化

8.5.1. 正态分布normal

8.5.2. 均匀分布uniform

8.6. tf.constant

九. 不同维度tensor数据的典型应用

9.1. scalar 标量的典型应用:loss,accuracy

9.2. Vector 向量典型应用: bias

9.3. Matrix矩阵典型应用

9.5. Dimension=4的tensor应用:图片

9.6. Dimension=5的tensor应用:用的少,meta-learning

TensorFlow2.0笔记5:TensorFlow2.0中的索引和切片!

目录

一. TensorFlow2.0中的索引与切片

1.1. 最基本的索引方式

1.2. Numpy的索引方式

1.3. 切片(单冒号),start:end

1.4. 切片(双冒号),start: end: step 隔着采样。

1.5. 补充:双冒号另一个神奇的功能: tensor倒序

1.6. 切片(省略号) ...

二. 常用的方法Selective Indexing

2.1. tf.gather

2.2. tf.gatherd_nd

2.3. tf.boolean_mask

TensorFlow2.0笔记6:TensorFlow2.0中的维度变换!

目录

    • 一. 整体大纲outline

      • 1.1. tf.reshape()改变content

      • 1.2. tf.transpose()改变view

      • 1.3. tf.expand_dims()增加一个维度

      • 1.4. tf.squeeze()减少一个维度

TensorFlow2.0笔记7:TensorFlow2.0中的前向传播实战+补充: 关于loss的放缩!

目录

    • 一. 整体流程分析

      • 1.1. 前向传播

      • 1.2. 计算损失函数

      • 1.3. 计算梯度和更新参数

    • 二. 实战演练

      • 2.1. python代码

      • 2.2. 运行结果

    • 三. 补充:关于loss的放缩

TensorFlow2.0笔记8:TensorFlow2.0的高阶操作汇总!

目录

一. 张量的合并和分割(merge, split)

1.1. tf.concat()拼接操作

1.2. tf.stack()创建一个维度

1.3. 维度不匹配情况

1.4. tf.unstack()对应tf.stack()

二. TF2.0中的数理统计

2.1. tf.norm()张量的范数(向量范数)

2.2. tf.reduce_min/max/mean():求均值,最大值,最小值

2.3. tf.argmax/argmin():最大值的位置

2.4. tf.equal(a,b):逐个判断a,b中元素是否相等

2.5. tf.unique():去除重复的元素

三. 张量排序

3.1. tf.sort()排序,tf.argsort()排序得到元素index

3.2. top-k之tf.math.top_k()最大的前k个元素

3.3. top-k accuracy

3.4. top-k accuracy实战例子!

四. 填充与复制

4.1. tf.pad()数据的填充

4.2. tf.tile()数据的复制

4.3. tf.tile() VS tf.broadcast_to()

五. 张量的限幅

5.1. tf.clip_by_value()限幅

5.2. tf.clip_by_norm()根据范数裁剪

5.3. tf.clip_by_global_norm()梯度整体同比例缩放

5.4. 5.3中实战代码(很重要!)

六. 高阶操作(op)

6.1. tf.where()对tensor操作返回一系列坐标

6.2. tf.scatter_nd()根据坐标有目的的进行更新

6.3. tf.meshgrid()对tensor如果要画一个3D的图片,要生成一个3D的坐标轴

6.4. 6.3中实战例子

6.5. 补充:tf.slice和tf.gather函数

TensorFlow2.0笔记9:TensorFlow2.0中数据集加载,测试,实战以及补充: 关于数据集下载慢的问题!

目录

一、数据的加载tensorflow.keras.datasets接口

1.1、MNIST数据集介绍

1.2、CIFAR 10/100数据集介绍

1.3、tf.data.Dataset.from_tensor_slices()

1.4、shuffle()随机打散

1.5、map()数据预处理

1.6、batch()读取一个batch

二、以上方法-实战

2.1、测试代码1

2.2、测试(张量)

三、补充:数据集下载慢的解决方法!

3.1、ubuntu系统解决方法

3.1、windows系统解决方法

TensorFlow2.0笔记10:全连接层和输出方式!

目录

一、全连接层描述

1.1、前言介绍

1.2、Fully connected layer(全连接层)

1.3、Muti-layers前面是一层

1.4、实战演练

1.5、补充:tensorflow在pycharm自动补全

二、输出方式

2.1、输出范围约束

2.2、实数集范围R

2.3、输出范围[0-1]tf.sigmoid()

2.4、输出范围[0-1]tf.nn.softmax()

2.5、输出范围[-1~1]tf.nn.softmax()

TensorFlow2.0笔记11:误差计算之MSE, Cross Enropy!

目录

    • 一、误差计算方法

    • 二、均方误差-MSE

      • 2.1、实战演练1

      • 2.2、实战演练2

    • 三、softmax

    • 三、交叉熵-Entropy

      • 3.1、交叉熵在二分类的2种方式

      • 3.2、为什么不直接MSE而是交叉熵

TensorFlow2.0笔记12:梯度下降,函数优化实战,手写数字问题实战以及Tensorboard可视化!

文章目录

一、梯度下降

1.1、什么是梯度?

1.2、梯度到底代表什么意思?

1.3、如何搜索loss最小值

1.4、tensorflow自动求导机制

1.5、补充知识:二阶梯度!

二、函数优化实战

2.1、绘制函数图像

2.2、使用梯度下降(重要!)

三、手写数字问题实战

3.1、fashionmnist数据集训练过程

3.2、加上测试过程

3.1、mnist数据集测试结果

四、Tensorboard可视化

4.1、tensorboard的安装以及工作原理

4.2、第一步:run listener

4.3、第二步:build summary

4.4、第三步:fed scalar

4.5、第三步2:fed single image

4.5、第三步3:fed muti-images

4.7、代码演示

TensorFlow2.0笔记13:感知机梯度详细过程,Keras高层API,Keras的自定义网络!

文章目录

一、单层单输出感知机梯度(属于二分类问题)

1.1、具体公式推导

1.2、tensorflow中如何实现单一输出的感知机

二、单层多输出感知机梯度(属于多分类问题)

2.1、具体公式推导

2.2、tensorflow中如何实现多输出的感知机

2.3、链式法则(扩展到多层)

三、多层感知机梯度

3.1、回顾章节二和三

3.2、具体公式推导

四、Keras高层API

4.1、五大功能

4.2、这里主要讲解Metrics

4.3、4.2中的实战

五、Keras高层API-2

5.1、Compilt和Fit

5.2、没有keras之前标准的training流程

5.3、通过keras完成标准的简介的写法

5.3.1、Training训练的代码

5.3.2、Test测试的代码

5.3.3、完成test之后其实还有一步,evaluate。

5.3.4、总结

六、keras的自定义网络(非常的重要!)

6.1、keras.Sequential容器

6.2、Layer/Model

6.3、自己实现一个Dense层MyDense(重要)

6.4、应用刚才自定义一个5层网络

6.5、实战自定义层3.2,自定义网络3.3。

TensorFlow2.0笔记14:模型的保存与加载(非常重要)以及CIFAR10自定义网络实现!

文章目录

一、模型的保存与加载(非常重要)!

1.1、模式1:save/load weights

1.2、python实战

1.3、模式2:save/load entire model

1.4、python实战

1.5、模式3:save_model

二、CIFAR10自定义网络实现

2.1、测试代码1

2.2、测试结果1:

2.3、测试代码2:

2.4、测试结果2:

TensorFlow2.0笔记15:卷积神经网络中的梯度求解以及CIFAR100与VGG13实战!

文章目录

一、梯度求解gradient

二、采样层Pooling

2.1 下采样down Sampling

2.2 补充知识:Tensorflow中的Padding

2.3 上采样up Sampling

三、CIFAR100与VGG13实战

3.1 程序处理流程

3.2 代码演示1:计算损失值

3.3 代码演示2:加上测试准确率

TensorFlow2.0笔记16:ResNet-18和ResNet-34实现CIFAR-100图像分类!

文章目录

一、ResNet介绍

1.1、ResNet-34的基本结构

1.2、为什么叫残差?

1.3、如何实现基本的BasicBlock

1.4、如何实现基本的ResBlock

二、ResNet实战

2.1、回顾Basic Block

2.2、实现Basic Block

2.3、实现Res Block(多个Basic Block堆叠一起组成)

2.4、ResNet-18中18的由来以及最终演示结果

2.5、ResNet-34的最终演示结果

2.6、Out of memory情况解决办法

2.7、2019-11-22日更新

TensorFlow2.0笔记17:自编码器Auto-Encoders以及实战!

文章目录

一. 自编码器Auto-Encoders

1.1. 回顾之前的知识

1.2. 无监督学习

1.3. Auto-Encoders中loss function如何设计

1.4. PCA和Auto-encoder对比

二. Auto-Encoders的变种

2.1. 变种1: 原图像中引入噪声

2.2. 变种2: 借助Drop out

2.3. 预备知识相对熵

2.3.1. 信息熵

2.3.2. 交叉熵

2.3.3. KL散度又称相对熵

2.3.4. 相对熵具体例子

2.3.5. 相对熵的性质

2.3.6. JS散度

2.4. 变种3:Adversarial Auto-Encoders(比较有名)

2.5. 对比Auto-Encoder和Adversarial Auto-Encoder的区别

三. 基本的Auto-Encoders实战

3.1. 训练部分代码实现

3.2. 测试部分代码实现

3.3. 重建结果对比

四. Adversarial Auto-Encoders实战

4.1. 训练部分代码实现

4.1.1. 构造模型

4.1.2. 注意损失函数部分

4.1.3. 完整的代码+训练结果

4.2. 测试代码实现

TensorFlow2.0笔记18:过拟合介绍以及解决方法+补充: 实现GPU按需分配!

文章目录

一、过拟合与欠拟合

1.1、欠拟合Underfitting

1.2、过拟合Overfitting

1.3、总结

二、交叉验证

2.1、如何检测过拟合

2.2、K-fold cross validation交叉验证

三、Regularization

3.1、第一种添加正则化的方式

3.2、第二种添加正则化的方式,更加灵活一点!

四、动量与学习率

4.1、动量优化侧略

4.2、学习率衰减策略

五、Early Stopping和Dropout

5.1、Early Stopping策略

5.2、Dropout策略

六、补充知识:实现GPU按需分配!

TensorFlow2.0笔记19:GoogleNet-Iception实现Fashion mnist图像分类+Batch Normalization讲解!

文章目录

一、GoogleNet-Iception V1(2014)介绍

1.1、为什么提出Inception

1.2、Inception模块介绍

1.3、Inception作用

1.4、googLeNet-Inception V1结构

二、GoogleNet-Iception V2介绍

2.1、Batch Normalization

2.1.1、为了解决什么问题提出的BN

2.1.2、BN的来源

2.1.3、BN的本质

2.2、Inception V2结构

三、GoogleNet-Iception V3介绍

四、GoogleNet-Iception V4介绍

五、Tensorflow2.0实战Fashion_mnist数据集

5.0、补充知识点keras.layers.add()和keras.layer.conatenate()

5.1、构建CNN基本单元Conv+BN+Relu类模块

5.2、构建Inception Block模块

5.3、构建Res Block 模块

5.4、最终代码如下

5.5、演示结果

六、Batch Normalization讲解

6.1、直观介绍

6.2、简单例子

6.3、tensorflow中如何实现BN层

6.4、使用BN层好处

TensorFlow2.0笔记20:自定义数据集实现分类(宝可精灵数据集)+补充tf.where!

目录

一. 数据集介绍以及加载

1.1. 数据集简单描述

1.2. 程序实现步骤

1.3. 加载数据的格式

1.4. map函数数据处理

1.5. 自定义数据集处理流程

二. 数据集的预处理工作

2.1. 数据增强Data Augmention

2.2. 预处理代码总结

三. 网络模型的搭建

3.1. TensorFlow2.0中的keras接口

3.2. 网络模型的参数量

四. 网络的训练工作

4.1. 小样本很难训练网络

4.2. 解决小样本难训练的方法

五. 深度迁移学习

5.1. 迁移学习介绍+实战

六. 自己的进一步改进工作

6.1. 可以改进的技巧

6.2. 最后的总结工作

七. 补充知识:tf.where

TensorFlow2.0笔记21:使用Numpy在MNIST数据集上实现3层BP神经网络!

目录

    • 一. 知识回顾-公式推导

    • 二. mnist.pkl.gz 数据集预处理

      • 2.1. load_data() 数据集加载格式

      • 2.2. load_data_wrapper() 数据集加载格式

    • 三. 具体实现细节

      • 3.1. 测试程序

      • 3.2. 运行结果


阅读过本文的人还看了以下文章:

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

长按图片,识别二维码,点关注


机器学习算法资源社群

不断上传电子版PDF资料

技术问题求解

 QQ群号: 333972581  

长按图片,识别二维码


 

你可能感兴趣的:(TensorFlow2.0学习笔记)