tensorflow简介

1.TensorFlow的依赖视图

在这里插入图片描述

优点:

  • TF托管在github平台,有google groups和contributors共同维护。

  • TF提供了丰富的深度学习相关的API,⽀持Python和C/C++接⼝。

  • TF提供了可视化分析⼯具Tensorboard,⽅便分析和调整模型。

  • TF⽀持Linux平台,Windows平台,Mac平台,甚⾄⼿机移动设备等各种平台。

2. TensorFlow 工作流程

在这里插入图片描述

1、使⽤tf.data加载数据。 使⽤tf.data实例化读取训练数据和测试数据

2、模型的建⽴与调试: 使⽤动态图模式 Eager Execution 和著名的神经

⽹络⾼层 API 框架 Keras,结合可视化⼯具 TensorBoard,简易、快速地

建⽴和调试模型;

3、模型的训练: ⽀持 CPU / 单 GPU / 单机多卡 GPU / 多机集群 / TPU

训练模型,充分利⽤海量数据和计算资源进⾏⾼效训练;

4、预训练模型调⽤: 通过 TensorFlow Hub,可以⽅便地调⽤预训练完

毕的已有成熟模型。

5、模型的部署: 通过 TensorFlow Serving、TensorFlow Lite、

TensorFlow.js 等组件,可以将TensorFlow 模型部署到服务器、移动端、

嵌⼊式端等多种使⽤场景;

3. 张量及其操作

3.1 张量

3.1.1 什么是张量

定义:张量是一个多维数组,有数据类型,和形状。

3.1.2 基本使用
(1) 创建
tf.constant(value,dtype,shape)
value用来指定数据,dtype用来显式地声明数据类型,shape用来指定数据的形状,
import tensorflow as tf


# tf.constant(value,dtype,shape)
# value用来指定数据,dtype用来显式地声明数据类型,shape用来指定数据的形状,

# 创建int32类型的0维张量
rank_0_tensor = tf.constant(4)
print(rank_0_tensor)
# 创建float类型的1维张量
rank_1_tensor = tf.constant([1.0, 2.0])
print(rank_1_tensor)
# 创建float16类型的⼆维张量
rank_2_tensor = tf.constant([[1, 2],[3, 4],[5, 6]], dtype= tf.float16)
print(rank_2_tensor)
(2)转换成numpy
# 转换维numpy形式  两种方式
# np.array(tensor)
# tensor.numpy()
# 法1:
import numpy as np
print(np.array(rank_2_tensor))

# 法2:
print(rank_2_tensor.numpy())
(3)常用函数
# tf.add(a, b)
# tf.subtract(a, b)
# tf.multiply(a, b)
# tf.matmul(a, b)


# tf.reduce_sum() # 求和
# tf.reduce_mean() # 平均值
# tf.reduce_max() # 最⼤值
# tf.reduce_min() # 最⼩值
# tf.argmax() # 最⼤值的索引
# tf.argmin() # 最⼩值的索引
a = tf.constant([[1, 2], [2, 3]])
b = tf.constant([[2, 1], [3, 2]])

print(a + b)
print(tf.add(a, b))
print(a - b)
print(tf.subtract(a, b))
print(a * b)
print(tf.multiply(a, b))

# 矩阵乘法
print(tf.matmul(a, b))




c = tf.constant([[4.0, 5.0], [10.0, 1.0]])

# 最大值
print(tf.reduce_max(c))
# 最大值索引
print(tf.argmax(c))

# 最小值
print(tf.reduce_min(c))
# 最值索引
print(tf.argmin(c))

# 求和
print(tf.reduce_sum(c))
# 求平均值
print(tf.reduce_mean(c))

3.2 变量

3.2.1 变量定义

​ 变量是⼀种特殊的张量,形状是不可变,但可以更改其中的参数。

3.2.2 变量定义及使用
# tf.Variable(initializer,name)
参数initializer是初始化参数,name是可自定义的变量名称
a = tf.Variable([[1, 2], [3, 4]], name = 'b')

print("Shape: ",a.shape)
print("DType: ",a.dtype)
print("As NumPy: ", a.numpy)

4. tf.keras 介绍

tf.keras是TensorFlow 2.0的⾼阶API接⼝,为TensorFlow的代码提供了新

的⻛格和设计模式,⼤⼤提升了TF代码的简洁性和复⽤性,官⽅也推荐使

⽤tf.keras来进⾏模型设计和开发。

在这里插入图片描述

4.1 常用模块

模块概述
activations激活函数
applications预训练⽹络模块
Callbacks在模型训练期间被调⽤
datasetstf.keras数据集模块
layersKeras层API
losses各种损失函数
metircs各种评价指标
models模型创建模块,以及与模型相关的API
optimizers优化⽅法
preprocessingKeras数据的预处理模块
regularizers正则化,L1,L2等
utils辅助功能实现

4.2 常⽤⽅法

深度学习实现的主要流程:

  1. 数据获取
  2. 数据处理
  3. 模型创建与训练
  4. 模型测试与评估
  5. 模型预测

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wbzuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值