使用基于tensorflow keras完成fashion_mnist图片分类,并在tensorboard可视化

基于Keras的人工神经网络(ANN)实现Fashion-MNIST分类模型 仿照TensorFlow官方教程中的Basic classification: Classify images of clothing ,自己写一遍最朴素的人工神经网络来实现Fashion_MNIST分类模型。 Coursera上学了快两个月理论终于有了个稍微像样的实操...... import tensorflow as tf from tensorflow import keras import numpy as np import matplotlib.pyplot as plt fashi 阅读详情
在获取时尚数据时遇到问题,连不上下载的网站导致图片无法加载,此时需要自己另外找网站下载压缩包并放入对应目录即可

C:\Users\RayLu\.keras\datasets\fashion-mnist

 def __init__(self):
        (self.x_train,self.y_train),(self.x_test,self.y_test) = keras.datasets.fashion_mnist.load_data()

全部码如下

import numpy
import tensorflow.compat.v1 as tf
import os
# from tensorflow.python.keras.processing.image import load_img, img_to_array
from tensorflow.python.keras.models import Sequential, Model
from tensorflow.python.keras.layers import Dense, Flatten, Input
from tensorflow.python.keras.losses import sparse_categorical_crossentropy
#使用此位置keras写代码时无提示,但可正常执行,本人使用python3.9.7,conda 4.10.3,tensorflow 2.0
from tensorflow import keras
#使用此位置keras写代码有提示,但无法执行,提示无法找到
# from tensorflow.python import keras

#去除警告
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
#版本不兼容,加入此行
tf.compat.v1.disable_eager_execution()

# def main():
#     # img = load_img("./part-00086-3880.jpg", target_size=(300,300))
#     # print(img)
#     # img_array = img_to_array(img)
#     # print(img_array)
#     # print(len(img_array),len(img_array[0]),len(img_array[0][0]))
#     (x_train, y_train),(x_test, y_test) = keras.datasets.cifar100.load_data()
#     print(x_train.shape)
#     print("y_tarin: ", y_train.shape)
#     print(x_train)
#
#     return None

#load数据集
#建立神经网络模型
class SingleNN(object):
    # 建立神经网络模型, 含两层网络,
    # 隐藏层1含128个神经元
    # 隐藏层2含10个神经元,对应10种类型输出,也是全连接层
    model = keras.Sequential([
        keras.layers.Flatten(input_shape=(28,28)),
        keras.layers.Dense(128, activation= tf.nn.relu),
        keras.layers.Dense(10, activation=tf.nn.softmax)
    ])

    def __init__(self):
        (self.x_train,self.y_train),(self.x_test,self.y_test) = keras.datasets.fashion_mnist.load_data()
        #print(self.x_train[3])
        #进行数据归一化
        #像素值由原来的0~255 转化为 0~1
        self.x_train = self.x_train/255.0
        self.x_test = self.x_test/255.0
        # self.y_train = self.y_train/255.0
        # self.y_test = self.y_test/255.0

    def singleNN_compile(self):
        #编译模型优化器,损失,准确率
        #SGD梯度优化,精度设置lr
        # SingleNN.model.compile(optimizer=keras.optimizer.SGD(lr=0.01),
        #                        #交叉熵损失函数
        #                        loss=keras.losses.sparse_categorical_crossentropy(),
        #                        metrics='accuracy'
        #                        )
        SingleNN.model.compile(optimizer="sgd",
                               loss='sparse_categorical_crossentropy',
                               metrics=['accuracy'])

        return None

    #模型训练
    def singleNN_fit(self):

        #添加tensorboard显示
        # board = keras.callbacks.TensorBoard(log_dir='./graph', write_graph = True)
        board = keras.callbacks.TensorBoard(log_dir='./logs', histogram_freq=0, batch_size=32, write_graph=True,
                                    write_grads=False, write_images=False, embeddings_freq=0,
                                    embeddings_layer_names=None, embeddings_metadata=None, embeddings_data=None)

        #epochs代表训练多少次
        SingleNN.model.fit(self.x_train,self.y_train,epochs=5,batch_size=32,callbacks=[board])
        # SingleNN.model.fit(self.x_train, self.y_train, epochs=10, batch_size=30000)

        return None
    #准确率评估
    def single_evalue(self):
        test_loss, test_acc = SingleNN.model.evaluate(self.x_test,self.y_test)
        return test_loss,test_acc

    #加载已保存的模型,进行预测
    def single_predict(self):
        if os.path.exists('./cpkt/singleNN.h5'):
            SingleNN.model.load_weights('./cpkt/singleNN.h5')
            single_predict = SingleNN.model.predict(self.x_test)
            return single_predict
        else:
            return None


if __name__ == "__main__":
    new_single = SingleNN()
    new_single.singleNN_compile()
    new_single.singleNN_fit()
    loss,acc = new_single.single_evalue()
    print(loss,acc)
    #保存模型
    # new_single.model.save_weights('./cpkt/singleNN.h5')

    #使用现有模型进行预测
    # single_predict = new_single.single_predict()
    # print(single_predict)
    # #获取到的结果是一个二维数组[60000,10]
    # #对结果进行处理,获取每个样本的预测最大值,得出对应的预测经过
    # #预测结果有10种样本,所以为0~9,
    # predict_max = numpy.argmax(single_predict,1)
    # print(predict_max)
    # print(len(predict_max))
    # print(123)

 执行Tensorboard --logdir命令

C:\Users\RayLu\PycharmProjects\pythonProject1\kares_t>tensorboard --logdir C:\Users\RayLu\PycharmProjects\pythonProject1\kares_t\logs
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.8.0 at http://localhost:6006/ (Press CTRL+C to quit)

 

2025年TensorFlow 2.x入门:从环境搭建到图像分类实战 深度学习框架是构建智能应用的核心工具,TensorFlow作为生产级框架,其动态图机制与Keras API大幅简化了模型开发流程。理解张量、Eager Execution等基础概念,掌握虚拟环境配置与GPU加速原理,是高效训练图像分类模型的关键。该框架在工业部署、移动端推理等场景具有显著优势,结合完整代码示例,本文提供一条从环境搭建到模型训练、调参的实战路径,帮助学习者建立系统化认知。 阅读详情

相关推荐

TensorFlow服装图像分类实战:从数据加载到边缘部署

图像分类是计算机视觉的基础任务,其核心在于特征提取、类别判别与泛化能力平衡。在真实电商场景中,服装图像分类需兼顾细粒度识别、低延迟推理与小模型体积等工程约束。TensorFlow凭借其完整的端到端生态(tf.data、Keras、TFLite、TF Serving),成为工业级部署的首选框架。本文围绕Fashion-MNIST与业务真实数据双轨演进,深入解析数据管道优化、MobileNetV2轻量化建模、空间注意力机制增强、量化感知训练及边缘推理调优等关键技术环节,覆盖从Python环境配置、GPU显存管理

张沈鹏,在路上 ... 506

第一次keras实战---fashion_mnist

–使用tf.keras建立模型 首先,导入必要的库(一般每次都需要用) import matplotlib as mpl import matplotlib.ptplot as plt import numpy as np import os import pandas as pd import sklearn import sys import tensorflow as tf import time from tensorflow import keras 然后,我们来看一下各个库的版本,以便代码给别人

weixin_46299363的博客 1270

TensorFlow入门实战:从计算图到模型部署的完整学习路径

深度学习框架的选择常让初学者陷入纠结,真正核心的是理解计算图、自动微分与反向传播等底层原理。TensorFlow 作为工业级深度学习工具,凭借 Keras 高层 API、tf.data 数据管线以及 TFLite/Serving 部署生态,覆盖了从研究实验到工程落地的完整链路。本文从张量与动态图的基础概念切入,解析梯度传播的内在机制,并给出 Ubuntu/Windows 环境配置、图像分类模型构建、自定义训练循环及模型保存部署的具体代码示例。无论是准备课程作业还是论文复现,掌握这套知识体系都能帮助你快速建立

weixin_33827590的博客 840

keras神经网络模型加载fashion_mnist数据、训练、保存与恢复

目录 加载fashion_mnist数据集 定义简单模型方法 实例化模型并喂入数据 测试模型准确性 在训练期间保存模型(以 checkpoints 形式保存) 重置模型并加载最新的 checkpoint 保存整个模型 加载恢复模型 加载fashion_mnist数据集 fashion_mnist数据集包括:训练集60000张图片,测试集10000张图片 fa...

qq_34387412的博客 3914

深度学习新手入门:从零跑通PyTorch MNIST图像分类项目

深度学习作为人工智能的核心技术,其核心原理是通过构建多层神经网络模型,从数据中自动学习特征表示。在工程实践中,选择一个成熟、易用的框架是快速上手的基石。PyTorch因其动态计算图和直观的API设计,成为入门和实践的热门选择,尤其适合构建和调试模型。其技术价值在于极大地降低了深度学习应用的门槛,使开发者能快速验证想法并迭代模型。典型的应用场景包括图像分类、自然语言处理等。本文以经典的MNIST手写数字识别任务为例,详细阐述了如何从零开始,在普通CPU环境下,使用PyTorch快速搭建一个完整的图像分类项目,

weixin_34238633的博客 329

从MNIST手写数字识别入门:深度学习数据集的基石与应用实战

在机器学习与计算机视觉领域,数据集是算法验证和模型训练的基石。一个高质量、标准化且广泛认可的数据集,能够帮助开发者将抽象算法与具体任务高效连接,并建立客观的性能基准。MNIST数据集作为经典的入门级图像数据集,以其结构清晰、规模适中的特点,成为了理解数据格式、模型架构和训练流程的绝佳起点。通过解析其二进制文件结构,开发者可以深入理解数据加载的本质;而利用TensorFlow、PyTorch等框架内置工具,则能快速进行工程实践。该数据集不仅是全连接神经网络和卷积神经网络的试炼场,也为联邦学习、生成对抗网络等前

423

【TensorFlow】Keras-图像分类Fashion-MNIST(tf2)

使用tf.keras来训练一个神经网络模型, 用于分类衣物图像(如运动鞋和衬衫) from __future__ import absolute_import, division, print_function, unicode_literals # TensorFlow and tf.keras import tensorflow as tf from tensorflow import keras # Helper libraries import numpy as np import matplo

chenvvei的博客 778

使用PyTorch进行深度学习-TensorBoard 可视化模型、数据和训练

在之前的内容中, 已经展示了如何加载数据, 通过我们定义nn.Module的子类模型 , 在训练数据上训练该模型,并在测试数据上对其进行测试。 还打印出一些模型在训练过程中的统计数据以了解训练是否在进行中。 但是,PyTorch 与 TensorBoard可以做得更好,它是一种用于可视化神经网络训练运行结果的工具。 本次使用Fashion MNIST(使用 torchvision.datasets 导入 PyTorch )数据集演示了它的一些功能。 读入数据并进行适当的转换(与之前的教程几乎相同)。 设

2481

tensorflow2------分类问题fashion_mnist

import matplotlib as mpl #画图用的库 import matplotlib.pyplot as plt #下面这一句是为了可以在notebook中画图 %matplotlib inline import numpy as np import sklearn #机器学习算法库 import pandas as pd #处理数据的库 import os import...

Stay Hungry Stay Foolish 525

探索时尚的视觉奇观:使用 TensorFlow 和 Keras 征服 Fashion MNIST 数据集

Fashion MNIST 数据集作为时尚界的一扇窗口,由 Zalando 公司发布。本文将详细介绍如何利用 TensorFlow 和 Keras 库加载这一数据集,并展示如何通过示例代码展示训练集中的前 25 个图像及其对应的类别名称。通过学习本文,您将能够掌握处理图像数据、构建深度学习模型的关键技能,为在时尚图像分类领域展开探索提供全面的准备。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 1073

使用TensorBoard可视化模型

TensorBoard是一款出色的交互式的模型可视化工具。安装TensorFlow时,会自动安装TensorBoard。

L 663

TensorFlow2快速模型构建及tensorboard初体验

学习目标: 了解TensorFlow 2 模型构建方法,掌握keras。同时结合tensorboard图像化展示,进而进行模型的调优等。 模型目标:预测图片分类 预测任务: 预测像素点为(28,28)的灰度照片的分类。 数据集为 tf.keras.datasets.fashion_mnist的分类数据 学习内容1:构建模型 构建方法:采用keras中的layer,一层层堆叠,然后compile 代码: import tensorflow as tf fashion_mnist = tf.keras.

913

Ansys口腔正畸有限元分析:从几何处理到接触设定的全流程解析

本文详细解析了Ansys在口腔正畸有限元分析中的全流程应用,从几何处理到接触设定,帮助医生精准预测牙齿移动趋势。通过有限元建模技术,可同时观察牙齿-牙周膜-牙槽骨的力学响应,显著提升矫治效果预测准确率。文章还分享了实用技巧和参数设置建议,适用于正畸医生和工程师。

weixin_30897233的博客 346

如何系统学习TensorFlow:tensorflow-workshop开源实战工作坊完全指南

**tensorflow-workshop** 是一个开源的 TensorFlow 实战学习工作坊项目,提供从零开始系统学习 TensorFlow 的完整材料:从构建第一个矩阵乘法图,到训练 XOR 最小示例,再到用高级 API 训练 MNIST 分类器、Wide & Deep 模型、迁移学习和 word2vec 词向量。项目以 Jupyter Notebook 为主要载体,配合 TensorBo

gitblog_01046的博客 203

ESP32-S3打造离线语音助手:从零部署自定义唤醒词与本地大模型推理【实战指南】

本文详细介绍了如何利用ESP32-S3芯片打造离线语音助手,包括自定义唤醒词训练与本地大模型推理的实战指南。通过硬件架构解析、音频处理优化及性能调优技巧,实现低延迟、高隐私保护的语音交互方案,特别适合智能家居和物联网应用。

weixin_30296405的博客 603

逆变器专题(9)-基于dq坐标系的逆变器解耦控制建模与实时仿真分析

本文深入探讨了基于dq坐标系的逆变器解耦控制建模与实时仿真分析。通过生动的比喻和详细的数学推导,阐述了如何通过坐标变换和前馈补偿实现d轴与q轴的独立控制,从而提升系统动态性能与稳定性。文章还介绍了在MATLAB/Simulink中搭建仿真模型、分析动态响应与稳定性的方法,并展望了硬件在环(HIL)实时仿真的高级验证手段,为新能源并网与电机驱动领域的工程师提供了宝贵的实践指南。

gold的博客 547

Keras 服饰图片分类2——数据归一化与回调函数

数据归一化,回调函数

weixin_72871448的博客 377

别再手动挂载NPU了!手把手教你用Ascend-Docker-Runtime一键启动昇腾AI容器

本文详细介绍了如何使用Ascend-Docker-Runtime一键启动昇腾AI容器,大幅简化NPU设备挂载流程。通过环境变量ASCEND_VISIBLE_DEVICES,开发者可以灵活指定NPU设备,提升开发效率。文章还提供了安装配置指南、高级使用技巧和常见问题排查方法,帮助开发者快速掌握这一高效工具。

weixin_42662605的博客 252

TensorFlow 2.x+Keras从零入门:环境搭建到工程实践

深度学习框架的核心在于张量计算与自动微分,TensorFlow 2.x 默认启用动态执行,配合 Keras 高层 API 极大简化了神经网络的构建流程。理解从张量到训练闭环的原理,有助于开发者快速搭建可扩展的模型。在实际工程中,TensorFlow 凭借成熟的生态,广泛应用于推荐系统、图像识别和移动端部署等场景。对于希望系统入门的开发者,掌握虚拟环境隔离、数据管道构建和常见调试技巧尤为关键。本文围绕 TensorFlow 2.x 与 Keras,完整梳理了从安装验证、模型设计、训练评估到模型保存与工程化实践

weixin_34232744的博客 476

使用libVLC进行视频截图的C/C++实现

通过这些代码,你可以在C/C++应用程序中实现视频截图功能,并将视频帧保存为图像文件。请注意,本文只提供了基本的示例代码,你可以根据自己的需求进行扩展和修改。libVLC是一个强大的开源多媒体框架,可以用于在C/C++应用程序中处理和播放音频和视频文件。我们将展示如何初始化libVLC,打开视频文件,捕获视频帧并保存为图像文件。在开始编写代码之前,你需要包含libVLC的头文件,并链接相应的库文件。在链接阶段,你需要添加libVLC库的链接选项。在使用libVLC之前,你需要初始化libVLC的实例。

学习使你进步。 470

【WRF模拟】如何查看 WPS 的输入静态地理数据(二进制格式)?

如何查看 WPS 的输入静态地理数据(二进制格式)?

WW、forever的博客 632

从零构建手写数字识别系统:基于MNIST的机器学习全流程实践

机器学习中的图像分类是计算机视觉的基础任务,其核心原理是通过模型学习图像特征与类别标签之间的映射关系。卷积神经网络(CNN)因其能有效捕捉图像的空间局部特征,成为该领域的主流技术。这项技术的价值在于能将算法模型转化为可解决实际问题的应用系统,例如文档数字化、银行支票识别等场景。本文以经典的手写数字识别项目为例,深入探讨从数据预处理、模型构建到训练调优的完整工程实践。针对MNIST数据集,详细解析了归一化、独热编码等关键预处理步骤,并对比了多层感知机(MLP)与卷积神经网络(CNN)的模型架构差异与选型考量。

weixin_34279184的博客 318

基于自抗扰控制的虚拟同步发电机二次调频控制研究

摘要:本文针对高比例可再生能源并网导致的电力系统频率稳定性问题,提出基于自抗扰控制(ADRC)的虚拟同步发电机(VSG)二次调频控制策略。通过分析VSG工作原理和传统调频方法的不足,设计了非线性ADRC和线性ADRC两种控制器,详细阐述了参数整定方法。仿真结果表明,该策略能有效消除频率稳态偏差,提升系统抗扰能力,为分布式电源参与电网调频提供了新思路。 关键词:虚拟同步发电机;自抗扰控制;二次调频;频率调节;抗扰能力

huanghm88的专栏 243

jetson AI course(待更新)

英伟达AI的几节课程

MT的博客 445

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

TensorFlow服装图像分类实战:迁移学习与移动端部署

图像分类是计算机视觉的基础任务,其核心在于从像素中提取判别性特征并映射到语义类别。原理上依赖卷积神经网络的层次化特征表达能力,通过局部感受野、权值共享和池化操作实现平移不变性与鲁棒性。技术价值体现在将人类视觉经验转化为可复用、低延迟、高一致性的自动化能力,显著提升电商商品管理、智能导购与库存运营效率。典型应用场景包括手机端拍照识款、后台批量打标、退货原因自动归因等。本文聚焦TensorFlow框架下的服装细粒度分类实践,深度融合迁移学习与AutoAugment数据增强,兼顾精度与TFLite移动端部署约束,

diegouyi3472的博客 323

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: tensorflow 线性回归简单学习案例
下一篇: 基于tensorflow keras使用卷积神经网络CNN完成图片分类
路路的小豆
博客等级 码龄10年 1763粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值