当前位置: 首页 > wzjs >正文

承德网站建设有限公司百度推广管家

承德网站建设有限公司,百度推广管家,外贸模板网站深圳,可以做装修效果图的网站目录 一、TensorFlow简介 1. 什么是 TensorFlow? 2.TensorFlow的特点 二、TensorFlow的安装 1. 安装 CPU 版本: 2. 安装 GPU 版本(需要 CUDA 和 cuDNN 支持): 3. 检验 三、常用的TensorFlow函数 1. 创建张量&…

目录

一、TensorFlow简介

1. 什么是 TensorFlow?

2.TensorFlow的特点

二、TensorFlow的安装

1. 安装 CPU 版本:

2. 安装 GPU 版本(需要 CUDA 和 cuDNN 支持):

3. 检验 

三、常用的TensorFlow函数

1. 创建张量(Tensor)

2. 变量(Variable)

3. 基本数学运算

4. 自动求导(梯度计算)

5. 应用示例

① 构建简单的神经网络

② 训练和评估模型

③ 使用 TensorFlow 进行预测


一、TensorFlow简介

1. 什么是 TensorFlow?

        TensorFlow 是 Google 开发的一个开源机器学习和深度学习框架,广泛用于构建和训练神经网络。它支持 CPU、GPU 和 TPU 加速计算,并且提供了灵活的 API 以适应研究和生产环境。

2.TensorFlow的特点

  • 高效的数值计算:基于数据流图(DataFlow Graph)进行计算。

  • 灵活的模型构建:支持 Keras 高级 API 进行快速建模。

  • 跨平台支持:可在 CPU、GPU、TPU、移动设备和云端运行。

  • 自动微分:方便进行梯度计算和优化。

  • 丰富的生态系统:包括 TensorBoard(可视化工具)、TF-Serving(模型部署)等。

注意:Keras是基于Tensorflow编写的深度学习框架,是在Tensorflow的基础上再次集成的。

二、TensorFlow的安装

        通过 pip 进行安装。建议在 Python 3.8 及以上版本的虚拟环境中安装

1. 安装 CPU 版本:

pip install tensorflow

2. 安装 GPU 版本(需要 CUDA 和 cuDNN 支持):

pip install tensorflow-gpu

        注: CUDA 和 cuDNN的安装参考YOLO系列环境配置及训练_yolo环境配置-CSDN博客

3. 检验 

import tensorflow as tf
print(tf.__version__)

能成功输出对应安装的tensorflow版本号即视为成功 

三、常用的TensorFlow函数

1. 创建张量(Tensor)

        函数:constant

        用途:张量(Tensor)是数据的基本结构,类似于 NumPy 数组

样例:

import tensorflow as tf# 创建标量、向量和矩阵
scalar = tf.constant(5)  
vector = tf.constant([1, 2, 3])  
matrix = tf.constant([[1, 2], [3, 4]])  print("标量:", scalar)
print("向量:", vector)
print("矩阵:\n", matrix)

样例输出:

标量: tf.Tensor(5, shape=(), dtype=int32)
向量: tf.Tensor([1 2 3], shape=(3,), dtype=int32)
矩阵:tf.Tensor(
[[1 2][3 4]], shape=(2, 2), dtype=int32)

2. 变量(Variable)

        函数:Variable

        用途:在训练神经网络时,用变量(tf.Variable)来存储和更新权重参数

样例:

# 创建变量
w = tf.Variable(3.0)
b = tf.Variable(2.0)# 变量可以进行赋值
w.assign(5.0)
print("w:", w.numpy())

样例输出:

w: 5.0

3. 基本数学运算

        函数:constant

        用途:提供了基本的数学运算,如加法、乘法、矩阵运算等。

样例:

a = tf.constant(3.0)
b = tf.constant(2.0)print("加法:", tf.add(a, b).numpy())  
print("乘法:", tf.multiply(a, b).numpy())  
print("矩阵乘法:", tf.matmul([[1, 2]], [[3], [4]]).numpy())  

样例输出:

加法: 5.0
乘法: 6.0
矩阵乘法: [[11]]

4. 自动求导(梯度计算)

样例:

x = tf.Variable(2.0)with tf.GradientTape() as tape:y = x**3 + 2*x + 1  # y = x³ + 2x + 1dy_dx = tape.gradient(y, x)  
print("dy/dx:", dy_dx.numpy())

样例输出:

dy/dx: 14.0

 分析:

  1. 变量定义

    tf.Variable(2.0) 声明一个可训练变量,TensorFlow会自动跟踪其梯度。
  2. 梯度记录

    tf.GradientTape() 会记录所有与变量 x 相关的计算操作(如平方、乘法等)。
  3. 梯度计算

    tape.gradient(y, x) 利用反向传播自动计算 \frac{dy}{dx}

5. 应用示例

① 构建简单的神经网络

        使用 tf.keras 可以搭建神经网络,例如将其用于手写数字识别的 MNIST 数据集

from tensorflow import keras
from tensorflow.keras import layers# 构建神经网络
model = keras.Sequential([layers.Dense(128, activation='relu', input_shape=(784,)),layers.Dense(10, activation='softmax')
])# 编译模型
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# 查看模型结构
model.summary()

样例输出:

Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense (Dense)                (None, 128)               100480    
dense_1 (Dense)              (None, 10)                1290      
=================================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0

分析: 

model = keras.Sequential([
    layers.Dense(128, activation='relu', input_shape=(784,)),
    layers.Dense(10, activation='softmax')
])

  • 模型结构

    • 输入层:隐式定义,接收形状为 (784,) 的输入(如展平后的28x28图像)。

    • 隐藏层:全连接层(Dense),128个神经元,激活函数为ReLU。

    • 输出层:全连接层,10个神经元(对应10个类别),激活函数为Softmax(输出概率分布)。

  • 关键参数

    • input_shape=(784,):指定输入数据的维度(需与预处理后的数据一致)。

    • activation='relu':ReLU函数缓解梯度消失,提升非线性表达能力。

    • activation='softmax':将输出转换为概率分布,适用于多分类任务。

② 训练和评估模型

        在①的基础上我们继续完善,在代码后段加上

# 加载 MNIST 数据集
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()# 归一化处理
x_train, x_test = x_train / 255.0, x_test / 255.0# 训练模型
model.fit(x_train.reshape(-1, 784), y_train, epochs=5, batch_size=32)# 评估模型
test_loss, test_acc = model.evaluate(x_test.reshape(-1, 784), y_test)
print("测试准确率:", test_acc)

样例输出:

Epoch 1/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.8847 - loss: 0.4228     
Epoch 2/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9654 - loss: 0.1196  
Epoch 3/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9759 - loss: 0.0803  
Epoch 4/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 2s 1ms/step - accuracy: 0.9821 - loss: 0.0578  
Epoch 5/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9875 - loss: 0.0413  
313/313 ━━━━━━━━━━━━━━━━━━━━ 0s 947us/step - accuracy: 0.9719 - loss: 0.0877
测试准确率: 0.9761000275611877

③ 使用 TensorFlow 进行预测

        在②的基础上继续完善,记得先引入numpy库

import numpy as np# 取测试集中第一张图片并进行预测
sample = x_test[0].reshape(1, 784)  
predictions = model.predict(sample)# 输出预测结果
print("预测类别:", np.argmax(predictions))

样例输出:

1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 46ms/step
预测类别: 7

http://www.dtcms.com/wzjs/525098.html

相关文章:

  • 固定ip做网站路由设置营业推广是什么意思
  • 软装设计一般怎么收费台州关键词首页优化
  • 青岛网站建设市场百度在线下载
  • 合肥网站建设-中国互联友情链接交换平台
  • 做英德红茶的网站宁波优化seo是什么
  • 特别酷炫网站深圳市龙华区
  • 北海网站建设网谷歌浏览器下载电脑版
  • fedora做网站服务器seo排名优化公司价格
  • 初一下电脑课书做网站陕西今日头条新闻
  • 程序员自己做网站百度竞价推广技巧
  • sqlite做网站销售网站怎么做
  • 南昌房产网二手房宁波seo推广外包公司
  • 想做网站开发兼职直接下载app
  • 不建网站如何做淘宝客怀来网站seo
  • 网上商城功能模块图长岭网站优化公司
  • 国外做装饰画的网站百度推广没有一点效果
  • 如何在vs做网站百度北京分公司官网
  • 设计师必看的10个网站拉新平台
  • 做爰全过程免费的教网站seo课培训
  • 政务微网站建设方案广州网络推广外包
  • h5网站怎么做api对接seo程序
  • 赵朴初网站建设手机打开国外网站app
  • 做平台网站需要多少钱南宁关键词优化软件
  • 安徽建设工程信息网文件seo软文推广
  • 专业点的网站制作公司如何做网站seo
  • 公司网站建设建议如何开网站呢
  • 如何选择电商网站建设网络营销的案例有哪些
  • 郑州做商城网站保定百度推广优化排名
  • ktv在那些网站做宣传效果好郑州百度推广公司
  • 菏泽市网站建设营销互联网推广公司