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

网站的建设的含义网站建设项目详情

网站的建设的含义,网站建设项目详情,网站怎么做咨询,网站建设2017主流代码语言神经网络就像一个小学生,而大模型就是大学生,不过一样可理解深度学习。如果你是小白(懂些编程知识),现在想在本地电脑上实现一个简单的神经网络并训练它,可以按照以下步骤操作试试。 说明:这是一…

神经网络就像一个小学生,而大模型就是大学生,不过一样可理解深度学习。如果你是小白(懂些编程知识),现在想在本地电脑上实现一个简单的神经网络并训练它,可以按照以下步骤操作试试。

说明:这是一个简单的神经网络,可以识别手写数字,达到约 98% 的准确率。

首先请自行安装python环境。

然后安装所需的 Python 库:

pip install numpy matplotlib tensorflow

加载 MNIST 手写数字数据集: 

import tensorflow as tf
from tensorflow.keras.datasets import mnist# 加载MNIST数据集
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()# 数据预处理
train_images = train_images.reshape((60000, 28 * 28)).astype('float32') / 255
test_images = test_images.reshape((10000, 28 * 28)).astype('float32') / 255# 打印数据形状
print(f"训练数据形状: {train_images.shape}")
print(f"测试数据形状: {test_images.shape}")

说明:MNIST(Modified National Institute of Standards and Technology)是一个广泛用于机器学习和计算机视觉的基准数据集,主要用于手写数字识别任务。它由美国国家标准与技术研究所(NIST)收集整理,后经修改和扩展,成为深度学习领域的 "Hello World" 级数据集。

这种数据集的结构包含:

  • 训练集:60,000 张手写数字图像(0-9)
  • 测试集:10,000 张图像
每张图像的规格:28×28 像素的灰度图(单通道),每个图像对应一个 0-9 的数字标签。

例如,数字 "5" 的图像可能长这样(简化示意图):

...............
...............
...............
......###......
......#.#......
......#.#......
......###......
......#........
......#........
......###......
...............
...............
...............

建一个简单的全连接神经网络:

from tensorflow.keras import models
from tensorflow.keras import layers# 定义模型架构
network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))  # 输入层+隐藏层
network.add(layers.Dense(10, activation='softmax')) # 输出层# 编译模型
network.compile(optimizer='rmsprop',    # 配置优化器loss='sparse_categorical_crossentropy', # 损失函数metrics=['accuracy'])   # 评估指标# 打印模型摘要
network.summary()

说明:上方代码里的 Sequential() 是用于构建神经网络的一种简单方式,它代表顺序模型(Sequential Model)。

顺序模型即线性堆叠结构:就像搭积木一样,你可以按顺序一层一层地添加神经网络层(如全连接层、卷积层、池化层等)。适用于大多数简单任务,每个层只有一个输入和一个输出。简单直观,易于使用。

上面的代码构建的神经网络:
输入层:接收 784 维向量(对应 28×28 像素的图像)
输出层:10 个神经元(对应 0-9 数字),使用 softmax 输出概率分布

使用准备好的数据训练网络:

# 训练模型
history = network.fit(train_images, train_labels, epochs=5, batch_size=128)# 绘制训练历史
import matplotlib.pyplot as pltplt.figure(figsize=(12, 4))   #创建一个新的图表窗口,大小为宽 12 英寸,高 4 英寸#共1行2列,选择第1个子图(左侧):准确率曲线
plt.subplot(1, 2, 1)          
#根据训练历史中数据,绘制训练准确率随训练轮次的变化曲线
plt.plot(history.history['accuracy'], label='Training Accuracy') #label即曲线图例的标签
plt.legend() #显示图例
plt.title('Training Accuracy')  #图例标题#同上,绘制右侧子图:损失率曲线
plt.subplot(1, 2, 2)
plt.plot(history.history['loss'], label='Training Loss')
plt.legend()
plt.title('Training Loss')
#全部画好了 显示出来
plt.show()

测试数据评估模型性能:

# 评估模型
test_loss, test_acc = network.evaluate(test_images, test_labels)
print(f"测试集准确率: {test_acc:.4f}")# 预测示例
predictions = network.predict(test_images[:5])
for i in range(5):plt.figure()plt.imshow(test_images[i].reshape(28, 28), cmap='gray')plt.title(f"预测结果: {predictions[i].argmax()}")plt.axis('off')plt.show()

 最后 为了方便学习,全部代码汇总如下:

# 引用第三方库
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras import models
from tensorflow.keras import layers
import matplotlib.pyplot as plt
import numpy as nptry:# 1. 加载MNIST数据集(train_images, train_labels), (test_images, test_labels) = mnist.load_data()# 数据验证# 说明:train_images训练集,这里获取集合的样本数量(shape[0]第一维表示样本数)#      test_images则为测试集if train_images.shape[0] != 60000 or test_images.shape[0] != 10000:raise ValueError("数据集加载不正确,请检查TensorFlow版本或网络连接")# 2. 数据预处理train_images = train_images.reshape((60000, 28 * 28)).astype('float32') / 255test_images = test_images.reshape((10000, 28 * 28)).astype('float32') / 255# 3. 定义模型架构network = models.Sequential()network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))network.add(layers.Dense(10, activation='softmax'))# 4. 编译模型network.compile(optimizer='rmsprop',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# 5. 训练模型history = network.fit(train_images, train_labels, epochs=5, batch_size=128)# 6. 评估模型test_loss, test_acc = network.evaluate(test_images, test_labels, verbose=0)print(f"测试集准确率: {test_acc:.4f}")# 7. 绘制训练历史plt.figure(figsize=(12, 4))plt.subplot(1, 2, 1)plt.plot(history.history['accuracy'], label='训练准确率')plt.xlabel('轮次')plt.ylabel('准确率')plt.legend()plt.subplot(1, 2, 2)plt.plot(history.history['loss'], label='训练损失')plt.xlabel('轮次')plt.ylabel('损失')plt.legend()plt.tight_layout()plt.savefig('training_history.png')plt.close()# 8. 预测示例predictions = network.predict(test_images[:5], verbose=0)for i in range(5):plt.figure()plt.imshow(test_images[i].reshape(28, 28), cmap='gray')plt.title(f"预测结果: {np.argmax(predictions[i])}")plt.axis('off')plt.tight_layout()plt.savefig(f'prediction_{i}.png')plt.close()print("训练和预测完成,结果已保存为图像文件")except tf.errors.NotFoundError:print("错误: TensorFlow库未找到,请确保已正确安装")
except ValueError as ve:print(f"数据错误: {ve}")
except Exception as e:print(f"发生未知错误: {e}")

运行说明

将上述代码保存为neural_network.py文件,然后在命令行中运行:python neural_network.py
程序会自动下载 MNIST 数据集并开始训练,训练完成后会显示准确率和预测示例图像。

你可以通过调整网络结构、增加训练轮数或使用更复杂的模型来进一步提高性能。如果你想更深度的学习,想继续手搓一个大模型,可以看下这个从零手搓中文大模型|Day01_litgpt llama-CSDN博客


文章转载自:

http://kLurhByV.cndxL.cn
http://hasTLNPz.cndxL.cn
http://8XfETWrj.cndxL.cn
http://6UK3zbeW.cndxL.cn
http://JXEnZQiL.cndxL.cn
http://v3fJHGCh.cndxL.cn
http://15x1Qzap.cndxL.cn
http://TvhY1tXC.cndxL.cn
http://02l1etg6.cndxL.cn
http://ifGC03pH.cndxL.cn
http://l20JbsIj.cndxL.cn
http://B4tnDVc6.cndxL.cn
http://TvgDfWYz.cndxL.cn
http://nhrJZ3iQ.cndxL.cn
http://tkrjtEep.cndxL.cn
http://qBFqFs4Z.cndxL.cn
http://KWfY6Mij.cndxL.cn
http://7XRYTpVA.cndxL.cn
http://eUWLrild.cndxL.cn
http://gcnCIBne.cndxL.cn
http://xhBSphdY.cndxL.cn
http://fK68PM7c.cndxL.cn
http://XcPiWeg9.cndxL.cn
http://jbJqHK4l.cndxL.cn
http://KhZkCW3B.cndxL.cn
http://ZbnXx7QM.cndxL.cn
http://qdJia1qN.cndxL.cn
http://MuX5nKAN.cndxL.cn
http://USTbdyai.cndxL.cn
http://7DlIUqDg.cndxL.cn
http://www.dtcms.com/wzjs/687641.html

相关文章:

  • 知名自适应网站建设哪家好便宜的游戏服务器租用
  • 纯js做网站申请专利
  • 网站开发常用开发语言找合伙做网站的
  • 如何做网站小编网站开发费入账
  • ftp上传网站 需要什么文件国内做五金加工的订单网站
  • 织梦dede做网站的优点深圳微商城网站设计多少钱
  • 做网站项目wordpress的样式表
  • 外贸网站分析网站制作 北京网站建设公司
  • 广州化妆品网站建设公司wordpress缺陷
  • 天津营销网站建设广州城市建设网站
  • 建设网站几钱w3 wordpress
  • 做企业宣传网站世界500强企业排名 2021最新名单
  • 潍坊网站设计公司wordpress 怎么上传到空间
  • 石家庄模板建站行业解决方案高德地图实况街景怎么打开
  • 石家庄工信部网站备案wordpress 脚本
  • 个体网站建设顺德网站建设哪家好
  • 长春网站建设哪家好快手极光视频小程序
  • 网站百度收录变少网站开发青岛
  • 学校网站建设市场分析建设自有网站需要什么
  • 网站分享做描点链接wordpress网站和微信公众号
  • 绍兴网站制作系统佛山网站排名提升
  • 网站设计与开发技术教程招聘网站建设工作汇报
  • 排名前50名免费的网站班级管理网站开发
  • 网站建设总费用怎么制作视频模板
  • 平台公司转型发展思路酒泉网站怎么做seo
  • 大型建设工程类考试辅导网站网站的站点建设分为
  • 机床网站建设wordpress wechat
  • 网站建设的指导书企业网络广告推广方案
  • 平度那里有做网站的成都建设材料二维码网站
  • 绍兴网站建设哪家好要写网站建设方案