tensorflow & keras 学习(官方文档)

tensorflow learning

0 语句积累篇

# 查看是否启用eager execution,若启用则返回True
tf.executing_eagerly()

# 矩阵相乘
m = tf.matmul(x, x)

# 矩阵对应位置元素相乘
c = np.multiply(a, b)

# 创建常量
a = tf.constant([[1, 2],
                 [3, 4]])

# 定义变量并初始化为[1.0]
w = tf.Variable([[1.0]])

# 在线抓取mnist数据集
(mnist_images, mnist_labels), _ = tf.keras.datasets.mnist.load_data()
# 下载数据集。将 with_info 设置为 True 会包含整个数据集的元数据,其中这些数据集将保存在 info 中。
datasets, info = tfds.load(name='mnist', with_info=True, as_supervised=True)
mnist_train, mnist_test = datasets['train'], datasets['test']

# 对数据集进行切片分组
dataset = tf.data.Dataset.from_tensor_slices()

dataset = tf.data.Dataset.from_tensor_slices(
  (tf.cast(mnist_images[...,tf.newaxis]/255, tf.float32),
   tf.cast(mnist_labels,tf.int64)))
# tf.cast() 的作用是将mnist_images原来的数据类型(uint8)转化为指定类型。
# mnist_images[…,tf.newaxis] 是指在mnist_images(维度为(60000, 28, 28))后面再加一个维度,即变成(60000, 28, 28, 1)。省略号表示的是很多个冒号,也就是说[…,tf.newaxis]即为[:, :, :, tf.newaxis]。

dataset = dataset.shuffle(1000).batch(32)
# shuffle:打乱
# batch:分批次,每批32个数据

1 tensorflow基础知识

1.0 tf2.0介绍

底层框架
在这里插入图片描述

training+deployment:训练和部署两部分,训练完之后保存模型,可以部署在服务器端、网页端、移动端等等。

准备数据–构建模型–运行调试–(分布式)训练–保存模型–(跨平台)部署

云端配置的优势

  1. 每台机器都是统一规格的,比较好管理
  2. 没有机器损耗问题
  3. GPU等硬件设施配置问题不用考虑

1.1 Eager Execution

  1. TensorFlow 的 Eager Execution 是一种命令式编程环境,可立即评估运算,无需构建计算图:运算会返回具体的值,而非构建供稍后运行的计算图。
  2. 直观的界面
  3. 使用 Python 而非计算图控制流

注:在 Tensorflow 2.0 中,默认启用 Eager Execution。

1.2 性能测试工具 cProfile

  1. 会统计每个函数的总运行时间(包括子函数)、除自函数外的运行时间、运行次数、每次平均运行时间。
  2. 默认情况下,只统计主线程的运行时间。
  3. 如果想要统计多线程/进程的运行时间,需要对每个线程/进程分别执行cProfile的API。

参考学习文档

1.3 自动求导机制

tf.GradientTape() 是一个自动求导的记录器。只要进入了 with tf.GradientTape() as tape 的上下文环境,则在该环境中计算步骤都会被自

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值