【paddle深度学习高层API七日打卡营】大作业解析——三岁无良版本

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 【paddle深度学习高层API七日打卡营】大作业解析——三岁无良版本

模型:



随便选,模型参数初始化(如:uniform和normal)可以随意调整。


模型训练



各种超参数(如:epochs、batch_size)可以随意调整。


评判标准



最终以model.evaluate的精度输出值(格式如下),计算方式是将eval_dataset送入evaluate接口即可,需要在model.prepare中配置评估指标Accuracy,所用数据集不能被用于训练过。

{‘loss’: [6.4980035], ‘acc’: 0.8485721442885772}


代码质量高(注释好、代码逻辑清晰等)会有额外精美礼品相送。

使用resnet50外的模型会有额外精美礼品相送。


导入相关库

import paddle
import numpy as np
paddle.__version__


‘2.0.0’


② 数据准备

import paddle.vision.transforms as T
# 训练数据集
train_dataset = paddle.vision.datasets.Cifar100(mode='train', transform=T.ToTensor())
# 验证数据集
eval_dataset = paddle.vision.datasets.Cifar100(mode='test', transform=T.ToTensor())
print('训练集样本量: {},验证集样本量: {}'.format(len(train_dataset), len(eval_dataset)))


训练集样本量: 50000,验证集样本量: 10000


  • 查看图片数据
print('图片:')
print(type(train_dataset[0][0]))
print(train_dataset[0][0])
print('标签:')
print(type(train_dataset[0][1]))
print(train_dataset[0][1])


图片:
<class 'paddle.VarBase'>
Tensor(shape=[3, 32, 32], dtype=float32, place=CUDAPlace(0), stop_gradient=True,
       [[[1.        , 1.        , 1.        , ..., 0.76470596, 0.83137262, 0.71372551],
         [1.        , 0.99607849, 0.99607849, ..., 0.66666669, 0.63137257, 0.57254905],
         [1.        , 0.99607849, 1.        , ..., 0.74117649, 0.65098041, 0.47450984],
         ...,
         [0.58039218, 0.55686277, 0.54901963, ..., 0.11764707, 0.25490198, 0.29803923],
         [0.47843140, 0.47058827, 0.49411768, ..., 0.08627451, 0.38039219, 0.55294120],
         [0.34117648, 0.34509805, 0.39607847, ..., 0.13333334, 0.41176474, 0.54117650]],
        [[1.        , 1.        , 1.        , ..., 0.80392164, 0.87843144, 0.76078439],
         [1.        , 0.99607849, 0.99607849, ..., 0.69019610, 0.65882355, 0.60392159],
         [1.        , 0.99607849, 1.        , ..., 0.78039223, 0.69803923, 0.52156866],
         ...,
         [0.72549021, 0.71372551, 0.70196080, ..., 0.06666667, 0.24313727, 0.30196080],
         [0.61568630, 0.60784316, 0.62745100, ..., 0.06274510, 0.43921572, 0.63137257],
         [0.47843140, 0.47843140, 0.52549022, ..., 0.14117648, 0.52156866, 0.67843139]],
        [[1.        , 1.        , 1.        , ..., 0.75686282, 0.80000007, 0.65490198],
         [1.        , 0.99607849, 0.99607849, ..., 0.58823532, 0.50980395, 0.44313729],
         [1.        , 0.99607849, 1.        , ..., 0.66274512, 0.50980395, 0.34117648],
         ...,
         [0.30980393, 0.22352943, 0.23529413, ..., 0.00392157, 0.05882353, 0.07843138],
         [0.25882354, 0.22745100, 0.27843139, ..., 0.01176471, 0.21960786, 0.34117648],
         [0.16078432, 0.15294118, 0.21960786, ..., 0.03921569, 0.23137257, 0.30980393]]])
>标签:
<class 'numpy.ndarray'>
19

③ 模型选择和开发


  • 3.1 模型开发(可视化)
network = paddle.vision.models.resnet18(num_classes=100)
model = paddle.Model(network)
model.summary((-1, 3, 32, 32))


此处应该根据自己的实际情况修改模型

可以参考作业2(图像识别)resnet50效果比较好但是不会加分


④ 模型训练和调优


model.prepare(paddle.optimizer.Adam(learning_rate=0.001,  # 学习率
  parameters=model.parameters()),
              paddle.nn.CrossEntropyLoss(),
              paddle.metric.Accuracy())  # 自己做作业的时候一定要配置这个Accuracy的评估指标,不然没有分数!!!!
model.fit(train_dataset,
          eval_dataset,
          epochs=20,  # 训练轮数
          batch_size=64,  # 批处理数
          verbose=1)  # 日志展示形式


评分输出

正确的输出格式为:


{‘loss’: [6.4980035], ‘acc’: 0.8485721442885772}


result = model.evaluate(eval_dataset, verbose=1)
print(result)


大家根据实际情况进行修改,可以修改网络,添加训练轮数,修改学习率,也可以做图片增强……


祝大家顺利结业!

目录
相关文章
|
29天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
67 2
|
2月前
|
存储 缓存 搜索推荐
Lazada淘宝详情API的价值与应用解析
在电商行业,数据是驱动业务增长的核心。Lazada作为东南亚知名电商平台,其商品详情API对电商行业影响深远。本文探讨了Lazada商品详情API的重要性,包括提供全面准确的商品信息、增强平台竞争力、促进销售转化、支持用户搜索和发现需求、数据驱动决策、竞品分析、用户行为研究及提升购物体验。文章还介绍了如何通过Lazada提供的API接口、编写代码及使用第三方工具实现实时数据获取。
63 3
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
151 3
|
23小时前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
13天前
|
机器学习/深度学习 搜索推荐 API
淘宝/天猫按图搜索(拍立淘)API的深度解析与应用实践
在数字化时代,电商行业迅速发展,个性化、便捷性和高效性成为消费者新需求。淘宝/天猫推出的拍立淘API,利用图像识别技术,提供精准的购物搜索体验。本文深入探讨其原理、优势、应用场景及实现方法,助力电商技术和用户体验提升。
|
15天前
|
监控 数据管理 测试技术
API接口自动化测试深度解析与最佳实践指南
本文详细介绍了API接口自动化测试的重要性、核心概念及实施步骤,强调了从明确测试目标、选择合适工具、编写高质量测试用例到构建稳定测试环境、执行自动化测试、分析测试结果、回归测试及集成CI/CD流程的全过程,旨在为开发者提供一套全面的技术指南,确保API的高质量与稳定性。
|
22天前
|
机器学习/深度学习 自然语言处理 语音技术
揭秘深度学习中的注意力机制:兼容性函数的深度解析
揭秘深度学习中的注意力机制:兼容性函数的深度解析
|
1天前
|
机器学习/深度学习 人工智能 算法
机器学习与深度学习:差异解析
机器学习与深度学习作为两大核心技术,各自拥有独特的魅力和应用价值。尽管它们紧密相连,但两者之间存在着显著的区别。本文将从定义、技术、数据需求、应用领域、模型复杂度以及计算资源等多个维度,对机器学习与深度学习进行深入对比,帮助您更好地理解它们之间的差异。
|
25天前
|
JSON API 数据格式
二维码操作[二维码解析基础版]免费API接口教程
此接口用于解析标准二维码内容,支持通过BASE64编码或远程图片路径提交图片。请求需包含用户ID、用户KEY、图片方式及图片地址等参数,支持POST和GET方式。返回结果包括状态码和消息内容,适用于图片元素简单的二维码解析。
|
6天前
|
供应链 搜索推荐 数据挖掘
1688搜索词推荐API接口:开发应用与收益全解析
在电商数据驱动时代,1688搜索词推荐API接口为开发者、供应商及电商从业者提供强大工具,优化业务流程,提升竞争力。该接口基于1688平台的海量数据,提供精准搜索词推荐,助力电商平台优化搜索体验,提高供应商商品曝光度与销售转化率,同时为企业提供市场分析与商业洞察,促进精准决策与成本降低。通过集成此API,各方可实现流量增长、销售额提升及运营优化,推动电商行业的创新发展。
16 0

推荐镜像

更多