文章目录

  • 1.张量与操作
    • 张量
      • 创建张量
      • numpy 和 tensorflow中的张量对比
      • 张量的操作
  • 2.常用层
  • 3.三种建模方式
    • 1)第一种方式:顺序模型
    • 2)第二种:函数模型
    • 3)模型子类化
    • 4)三种构建模型的区别

1.张量与操作

张量


创建张量
import tensorflow as tf
print('版本=',tf.__version__)         # 2.0.0
print('判断gpu是否可以使用:',tf.test.is_gpu_available())        # True# 张量# Rank 0-定义0阶的张量
# tf.string表示数据类型
mammal = tf.Variable('Elephant',tf.string)
tf.print(tf.rank(mammal))
tf.print(tf.shape(mammal))
# 0
# []# Rank 1
mystr = tf.Variable(['Hello'],tf.string)
tf.print(tf.rank(mystr))
tf.print(tf.shape(mystr))# 1
# [1]# Rank 2
mymat = tf.Variable([[7],[11]],tf.int16)
tf.print(tf.rank(mymat))
tf.print(tf.shape(mymat))# 2
# [2 1]

numpy 和 tensorflow中的张量对比

张量的操作
tf.strings(常用于推荐算法场景、NLP场景)      # 数据进行分割
tf.debugging
tf.dtypes       # 函数输出
tf.math         # 数学的加减乘除等
tf.random       # 随机初始化一个初始化函数,自定义层经常用到,神经网络必备
tf.feature_column   # 常用于结构化数据操作-诸如将诶构化数据封箱,交叉-数据挖掘或者推荐算法经常能用到




print与tf.print()的区别

2.常用层

推荐:
tf.keras.layers
# 循环神经网络
tf.keras.layers.LSTM(100)
# 全连接层
tf.keras.layers.Dense(10)
# l1正则
tf.keras.layers.Dense(64,kernel_regularizer = tf.keras.regularizers.l1(0.01))tf.nn
# sotmax激活函数
tf.nn.softmax(b)
# relu激活函数
tf.keras.layers.Dense(64,activation = tf.nn.relu)总结:
tf.nn:底层的函数库,其他各种库可以说都是基于这个底层库来进行扩展的tf.keraas.layers:如果说tf.nn是轮子,那么tf.keras.layers可以说是汽车。tf.keras.layers是
tf.nn的高度封装


3.三种建模方式

- Sequential model(顺序模型)- Functional model(函数模型)- Subclassing model (子类化模型)

1)第一种方式:顺序模型

tf.keras.Model.fit (用于模型训练)epochs:训练分为几个时期。每一个epoch是对整个输入数据的一次迭代(此操作以较小的批次完成)。batch_size:当传递NumPy数据时,模型将数据切成较小的批次,并在训练期间对这些批次进行迭代。
该整数指定每个批次的大小。请注意,如果不能将样本总数除以批次大小,则最后一批可能会更小。validation_data:在模型训练时,监控在某些验证数据上监视其性能。传递此参数(输入和标签的元组)
可以使模型在每个时期结束时以推断模式显示所传递数据的损失和度量。

2)第二种:函数模型


##  Functional model
# 推荐开始学习函数式模型
函数式模型是一种创建模型的方法,该模型比tf.keras.Sequential更灵活。函数式模型可以处理具有
非线性拓扑的模型,具有共享层的模型以及具有多个输入或输出的模型等等深度学习模型通常是层的有向无环图(DAG)的主要思想。因此,函数式模型是一种构建层图的方法。训练模型和tf.keras.Sequential一样
tf.keras.Model.fit (用于模型训练)epochs:训练分为几个时期。每一个epoch是对整个输入数据的一次迭代(此操作以较小的批次完成)。
batch_size:当传递NumPy数据时,模型将数据切成较小的批次,并在训练期间对这些批次进行迭代。
该整数指定每个批次的大小。请注意,如果不能将样本总数除以批次大小,则最后一批可能会更小。
validation_data:在模型训练时,监控在某些验证数据上监视其性能。传递此参数(输入和标签的元组)
可以使模型在每个时期结束时以推断模式显示所传递数据的损失和度量。


多个输入

多个输出

3)模型子类化

子类模型-Subclassing model- 通过子类化tf.keras.Model 和定义自己的前向传播模型来构建完全可定制的模型- 和eager execution 模式相辅相成

4)三种构建模型的区别

深度学习1-tensorflow2.0自定义操作与建模方式相关推荐

  1. TensorFlow 2.0 自定义操作与建模方式

    目录 知识树 1.张量与操作 1.1 Numpy和tensorflow中的张量对比 1.2 张量操作 1.2.1 tf.string 1.2.2 tf.debugging 1.2.3 tf.rando ...

  2. 吴恩达深度学习之tensorflow2.0 课程

    课链接 吴恩达深度学习之tensorflow2.0入门到实战 2019年最新课程 最佳配合吴恩达实战的教程 代码资料 自己取 链接:https://pan.baidu.com/s/1QrTV3KvKv ...

  3. 第0章【序】--动手学深度学习【Tensorflow2.0版本】

    项目地址:https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0 这个项目将<动手学深度学习> 原书中MXNet代码实现改为Tenso ...

  4. 第3章(3.11~3.16节)模型细节/Kaggle实战【深度学习基础】--动手学深度学习【Tensorflow2.0版本】

    项目地址:https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0 UC 伯克利李沐的<动手学深度学习>开源书一经推出便广受好评.很多开 ...

  5. 第1章【深度学习简介】--动手学深度学习【Tensorflow2.0版本】

    项目地址:https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0 UC 伯克利李沐的<动手学深度学习>开源书一经推出便广受好评.很多开 ...

  6. 【深度学习与tensorflow2.0实战】(网易云课堂)13-GAN

    本文目录 GAN原理 纳什均衡-D.G EM距离 GAN实战 **gan.py** dataset.py GAN原理 Having Fun ▪ https://reiinakano.github.io ...

  7. 《自然语言处理实战入门》 深度学习组件TensorFlow2.0 ---- 文本数据建模流程

    文章大纲 一,准备数据 二,定义模型 三,训练模型 四,评估模型 五,使用模型 六,保存模型 参考文献 文本处理的建模流程,使用清华发布的新闻分类数据集: 中文文本分类数据集THUCNews THUC ...

  8. 【深度学习】Tensorflow2.x入门(一)建立模型的三种模式

    前言 最近做实验比较焦虑,因此准备结合推荐算法梳理下Tensorflow2.x的知识.介绍Tensorflow2.x的文章有很多,但本文(系列)是按照作者构建模型的思路来展开的,因此不会从Eager ...

  9. Opencv4.x深度学习之Tensorflow2.3框架训练模型

    Opencv4.x深度学习之Tensorflow2.3框架训练模型 第一部分:开发环境 1.Win10 x64 2.Opencv-Python 3.Tensorflow 2.3.0 CPU 第二部分: ...

  10. 《动手学深度学习》TF2.0 实现

    本项目将<动手学深度学习> 原书中MXNet代码实现改为TensorFlow2.0实现.经过我的导师咨询李沐老师,这个项目的实施已得到李沐老师的同意.原书作者:阿斯顿·张.李沐.扎卡里 C ...

最新文章

  1. Delphi通过ICMP检测与远程主机连接
  2. 写一篇好的技术文章有多难?
  3. 工具使用教程 (一)【Git从原理到入门实用教程】
  4. sonar-scanner历史版本下载(转载)
  5. 怎么用计算机直接截图,电脑怎样截图又快又方便 1分钟教你如何快速截图
  6. pytorch源码解析1——torch.optim:优化算法接口详解
  7. iphone5处理屏幕分辨率
  8. 计算机单位-字节到底是什么?(小白简单易懂)
  9. 记录navicat客户端对个别字段类型设置长度保存后变为0的原因
  10. Deepfake——深度造假视频在智能城市中的风险
  11. 数字 IC 笔试面试必考点(8)时钟偏差以及时钟抖动
  12. 英语文本处理工具库——spaCy
  13. 共享单车之数据可视化
  14. 【计算机视觉】简述对RandLA-Net(大场景点云)的理解
  15. 字节等单位与进制转换
  16. Mixlab做客VLAND TALK,一起聊聊如何策划一场元宇宙活动
  17. Unity质量设置 Quality Settings
  18. 机器学习笔记之指数族分布——最大熵原理与softmax激活函数的关系
  19. 视频教程-操作系统之存储管理-操作系统
  20. skynet newservice API参考

热门文章

  1. PHP中header和session_start前不能有输出的原因
  2. 串行通信(一):I2C
  3. 任务21 :了解ASP.NET Core 依赖注入,看这篇就够了
  4. Luogu3403跳楼机
  5. 第四章 consul cluster
  6. C++编程语言类对象的赋值与复制介绍(二)
  7. 接口XMPPConnection
  8. info - 阅读 info 文档
  9. Java之mybatis详解(非原创)
  10. (转)增强学习(二)----- 马尔可夫决策过程MDP