首页 > 其他分享 >TensorFlow 示例

TensorFlow 示例

时间:2025-01-14 09:02:31浏览次数:3  
标签:layers 示例 np train tf test TensorFlow

以下是一些 TensorFlow 的代码示例,涵盖了不同的使用场景,包括基本的线性回归、简单的神经网络分类以及使用卷积神经网络进行图像分类等。

1. 线性回归示例

这是一个使用 TensorFlow 实现线性回归的简单示例,用于拟合一条直线:y = Wx + b

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

# 生成模拟数据
np.random.seed(0)
X = np.linspace(-1, 1, 100)
np.random.shuffle(X)
Y = 0.5 * X + 2 + np.random.normal(0, 0.05, (100, ))
X_train, Y_train = X[:70], Y[:70]
X_test, Y_test = X[70:], Y[70:]

# 定义模型参数
W = tf.Variable(np.random.randn(), name='weight')
b = tf.Variable(np.random.randn(), name='bias')

# 定义模型
def linear_regression(x):
    return W * x + b

# 定义损失函数
def mean_square(y_pred, y_true):
    return tf.reduce_mean(tf.square(y_pred - y_true))

# 定义优化器
optimizer = tf.optimizers.SGD(learning_rate=0.01)

# 训练模型
for step in range(200):
    with tf.GradientTape() as tape:
        pred = linear_regression(X_train)
        loss = mean_square(pred, Y_train)
    gradients = tape.gradient(loss, [W, b])
    optimizer.apply_gradients(zip(gradients, [W, b]))
    if (step + 1) % 20 == 0:
        print("Step: %i, loss: %f, W: %f, b: %f" % (step + 1, loss, W.numpy(), b.numpy()))

# 测试模型
pred = linear_regression(X_test)
plt.scatter(X_test, Y_test, label='Data')
plt.plot(X_test, pred, color='red', label='Predicted line')
plt.legend()
plt.show()

2. 神经网络分类示例

这是一个使用 TensorFlow 构建简单神经网络进行分类的示例。

import tensorflow as tf
from tensorflow.keras import layers, models
import numpy as np

# 生成模拟数据
np.random.seed(0)
X = np.random.rand(100, 2)
Y = np.where(X[:, 0] + X[:, 1] > 1, 1, 0)

# 构建模型
model = models.Sequential([
    layers.Dense(10, activation='relu', input_shape=(2,)),
    layers.Dense(1, activation='sigmoid')
])

# 编译模型
model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'])

# 训练模型
model.fit(X, Y, epochs=100, batch_size=10)

# 评估模型
loss, accuracy = model.evaluate(X, Y)
print(f"Loss: {loss}, Accuracy: {accuracy}")

3. 卷积神经网络图像分类示例

这是一个使用 TensorFlow 构建卷积神经网络(CNN)进行图像分类的示例,使用的是 CIFAR-10 数据集。

import tensorflow as tf
from tensorflow.keras import datasets, layers, models

# 加载 CIFAR-10 数据集
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()

# 归一化像素值
train_images, test_images = train_images / 255.0, test_images / 255.0

# 构建卷积神经网络模型
model = models.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.Flatten(),
    layers.Dense(64, activation='relu'),
    layers.Dense(10)
])

# 编译模型
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

# 训练模型
history = model.fit(train_images, train_labels, epochs=10, 
                    validation_data=(test_images, test_labels))

# 评估模型
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)
print(f"Test accuracy: {test_acc}")

这些示例展示了 TensorFlow 在不同机器学习任务中的应用,从简单的线性回归到复杂的图像分类任务。希望这些示例能帮助你更好地理解和使用 TensorFlow。

标签:layers,示例,np,train,tf,test,TensorFlow
From: https://blog.csdn.net/2301_77113835/article/details/145129071

相关文章

  • Vue2+OpenLayers调用WMTS服务初始化天地图示例
    目录一、案例截图二、安装OpenLayers库三、WMTS服务详解四、完整代码五、Gitee源码一、案例截图二、安装OpenLayers库npminstallol三、WMTS服务详解WMTS(WebMapTileService)是一种标准的网络地图服务协议,用于提供基于瓦片的地图数据。它允许客户端请求地图的具......
  • 【经典JESD204B ADC采集示例】基于FPGA的JESD204B ADC数据采集驱动源码(以AD9689为例)
    一、基础信息Ad9689是双通道ADC,分辨率14bit,最高采样率2Gsps/2.6Gsps;采用JESD204Bsubclass1协议,共8lanes串行接口输出;框图如下:在不同采样率下,不同输入频点的SFDR和SNR典型值:内部有可编程FIR滤波器,4个DDC:每个DDC包含一个48bitNCO实现混频,以及可编程的抽取速率;如此可......
  • win32汇编环境,对话框程序中对按钮控件常用操作的示例
    ;运行效果;win32汇编环境,对话框程序中对按钮控件常用操作的示例;常用的操作,例如创建按钮控件,使其无效,改变文本,得到文本等。;将代码复制进radasm软件里,直接就可以编译运行。重点部分加备注。;以下为asm文件。;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&......
  • 如何加密 PL/SQL 程序?思维导图 代码示例(java 架构)
    加密PL/SQL程序通常指的是保护存储在数据库中的PL/SQL代码,防止未经授权的用户查看或修改。Oracle数据库提供了一些方法来实现这一点,比如使用WRAP工具或者通过DBMS_DDL.CREATE_WRAPPED包来进行源代码的加密。思维导图结构-加密PL/SQL程序-使用WRAP工具......
  • 咱们继续学Java——高级篇 第六十三篇:之XSLT转换示例程序全解析
    咱们继续学Java——高级篇第六十三篇:之XSLT转换示例程序全解析在Java编程的学习道路上,我们始终携手共进,不断深入探索知识的领域。此前我们学习了XSL转换(XSLT)的高级应用及在Java中的实现原理,今天我们将全面解析文档中的示例程序TransformTest,深入理解如何在Java中应用XSLT......
  • 深度学习笔记11-优化器对比实验(Tensorflow)
    ......
  • JavaScript字符串拓展:实用方法与示例全解析
    一、引言:为什么要学习JS字符串拓展在前端开发的世界里,JavaScript如同基石般支撑着网页的交互与动态呈现。而字符串作为我们日常操作中最频繁接触的数据类型之一,其原生方法在面对复杂多变的业务需求时,有时难免显得捉襟见肘。此时,JS字符串拓展方法就如同一个个得力助手,闪亮......
  • .NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人
    资源及介绍接上篇nuget引用以下组件效果展示:内存和cpu占有:代码如下:路径换成自己的模型路径模型请从上篇文尾下载internalclassProgram{privatestaticCancellationTokenSource?cts;privatestaticIChatClient?model;privatestaticList<M......
  • CRC校验:原理、计算方法、优缺点及MATLAB代码示例
    引言        在数字通信和数据存储领域,数据的完整性和可靠性是至关重要的。为了确保数据在传输或存储过程中不发生错误,人们开发了许多错误检测与校正技术。其中,循环冗余校验(CyclicRedundancyCheck,简称CRC)是一种广泛应用的错误检测机制。本文将详细介绍CRC校验的基本......
  • PyTorch 微调代码完整示例:从模型训练到评估
    PyTorch微调代码完整示例:从模型训练到评估1.环境准备2.代码实现2.1导入必要的库2.2自定义数据集2.3定义模型2.4初始化模型、损失函数和优化器2.5准备数据2.6训练循环2.7模型评估3.代码说明4.总结在深度学习任务中,微调(Fine-tuning)是一个非常重要的步骤,尤......