- 博客(59)
- 资源 (1)
- 收藏
- 关注
原创 从零构建智能水果识别系统:告别混乱,用模型加载与工厂类打造清晰架构
标准化:定义统一的模型接口,屏蔽了不同框架与结构的底层差异,为训练和推理提供了稳定、一致的调用方式。中心化:模型工厂集中管理所有模型的构建逻辑,通过简单配置即可切换或尝试不同的网络架构,极大简化了实验流程。高效化:模型加载类专门负责权重载入、设备部署与优化,确保了推理效率,并充分利用硬件计算资源。可扩展:模块化的设计使得新增模型或替换骨干网络变得轻而易举,系统核心代码无需改动,便能持续融入新的研究成果。模型是智能系统的核心引擎。
2025-12-22 17:47:32
708
原创 从零构建智能水果识别系统:数据模块深度解析
在我们的水果识别系统中,我们还创建了模块,这是自定义数据转换类,用于构建训练、验证、测试和预测的数据预处理管道。下面是"""将图像转换为RGB格式,处理调色板图像Args:image (PIL.Image): 输入的图像对象Returns:PIL.Image: 转换后的RGB格式图像"""# 处理调色板模式图像# 调色板模式,先转换为RGBA再转RGB# 如果图像包含透明度信息,先转换为RGBA再转RGBelse:# 直接转换为RGB# 处理RGBA模式图像(带透明通道)
2025-12-21 17:36:02
979
原创 从零构建AI水果识别系统:告别混乱配置,这一篇就够了
在我们的水果识别系统中,配置模块不仅仅是参数的集合,更是项目管理的大脑中枢。集中化管理:所有参数一目了然灵活扩展:支持各种实验需求智能自动化:减少手动配置良好的文档性:配置即文档我们实现了代码的可维护性、可复用性和可扩展性的大幅提升。配置驱动开发已经成为现代深度学习项目的标配。一个好的配置模块,就像项目的导航系统,让你在复杂的实验海洋中不会迷失方向。如果你对这个配置模块感兴趣,或者想了解更多深度学习项目架构的最佳实践,欢迎在评论区留言交流!
2025-12-21 11:51:51
587
原创 从零构建智能水果识别系统:PyTorch实战系列开篇
本文介绍了一个基于PyTorch的水果识别系统开发项目。该项目使用四种主流深度学习模型(EfficientNet、ResNet、MobileNet、DenseNet)进行迁移学习,并提供了模型选择决策图。数据集包含3825张水果和蔬菜图片,涵盖30多个种类。文章详细说明了数据预处理流程,包括随机裁剪、翻转、颜色扰动等技术。该项目具有实用价值,可应用于智慧农业、零售等领域,适合AI初学者掌握从数据准备到模型部署的完整流程。文章预告后续将深入讲解数据工程和模型训练细节。
2025-12-20 11:47:29
295
原创 【爬虫篇】一、使用爬虫爬取豆瓣的电影信息
接下来通过访问剧情分类排行榜的网页,我们通过F12打开开发者工具,捕捉到访问界面时发送的两个接口请求,然后再做分析。通过如下第二个接口参数的分析,我们可以通过request 模拟get请求向后台发送请求来获得各类别排名前列的电影信息。的参数,就能获取不同电影分类的固定间隔评价内的界面。我们只需要不停的更换。
2025-09-20 11:08:16
419
原创 系统架构师-软件工程
指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。为了使软件生命周期中各项任务能够有序的按照规程进行,需要一定的工作模型对各项任务给予规程约束,这样的工作模型被称为软件过程模型,又称软件生命周期模型。
2025-08-28 17:44:07
179
原创 基于pytorch的垃圾分类识别项目实战
MnasNet模型:MnasNet(Mobile Neural Architecture Search Network)是一种通过搜索得到的高效卷积神经网络,最早由Google提出。MnasNet的主要特点是在保证模型的高性能的同时,尽量降低计算复杂度和参数数量,适用于移动设备等资源有限的场景。
2025-08-28 16:40:50
311
原创 centos7 安装 docker
CentOS 7官方支持的Docker版本为Docker CE(社区版),推荐安装Docker 19.x和20.x系列。其中,Docker 19.03和20.10是稳定的常用版本,而Docker 20.10为官方建议的长期支持版本。用户可通过官方仓库或离线安装包进行部署。
2025-06-15 13:13:56
430
原创 基于django+pytorch(Faster R-CNN)的钢材缺陷识别系统
缺陷识别模型基于Faster R-CNN ResNet50-FPN V2预训练模型,冻结了底层卷积保留通用特征,自定义分类头并初始化参数并且采用混合精度训练+梯度累积加速收敛、学习率预热+余弦退火调度策略,可自动保存最佳模型,同时还使用Visdom实时监控损失/学习率曲线。数据标注通过labelme进行标注,图片所有标注以转化为矩形标注,存放成json格式。数据来源于阿里云天池实验室公开数据集中的。,后端使用django开发。
2025-03-11 18:39:46
436
原创 一、selenium自动化简介&selenium工具集
官方网站Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发服务器, 以及用于实现 W3C WebDriver 规范 的基础结构, 该规范允许您为所有主要 Web 浏览器编写可互换的代码。支持全部主流浏览器。支持多种编程语言。跨平台。开源免费。
2024-09-04 20:41:07
482
原创 django学习-数据表操作
执行数据插入时,为了保证数据的有效性,我们需要对数据进行去重判断,确保数据不会重复插入。以往的方案都是对数据表进行查询操作,如果查询的数据不存在,就执行数据插入操作。数据库事务是指作为单个逻辑执行的一系列操作,这些操作具有原子性,即这些操作要么完全执行,要么完全不执行,常用于银行转账和火车票抢购等。数据删除必须执行一次数据查询,再对查询结果进行删除操作,若删除的数据设有外键字段,则删除结果由外键的删除模式决定。方法判断当前数据在数据表里是否存在,若存在,则进行更新操作,否则在数据表里新增数据。
2024-08-07 22:52:45
1305
原创 django学习-数据表关系
多对多关系存在于两张或两张以上的数据表中,第一张表的某一行数据可以与第二张表的一到多行数据进行关联,同时第二张表中的某一行数据也可以与第一张表的一到多行数据进行关联。一对一关系存在于两张数据表中,第一张表的某一行数据只与第二张表的某一行数据相关,同时第二张表的某一行数据也只与第一张表的某一行数据相关,这种表关系被称为一对一关系。一对多关系存在于两张或两张以上的数据表中,第一张表的某一行数据可以与第二张表的一到多行数据进行关联,但是第二张表的每一行数据只能与第一张表的某一行进行关联。
2024-08-04 21:21:17
585
原创 Django学习-数据迁移与数据导入导出
一般情况下,数据的导出和导入最好以整个项目或整个项目应用的数据为单位,因为数据表之间可能存在外键关联,如果只导入某张数据表的数据,就必须考虑该数据表是否设有外键,并且外键所关联的数据表是否已有数据。在实际开发过程中,我们经常对数据库的数据进行导入和导出操作,比如网站重构、数据分析和网站分布式部署等。里删除相应的文件执行记录。一般情况下不建议采用这种操作,因为这样很容易出现异常,比如数据表已存在的情况下,再次执行相应的。数据迁移是将项目里定义的模型生成相应的数据表。文件夹的某个.py文件,就只需在数据表。
2024-08-04 20:54:11
1113
原创 Django学习-Django数据库模型定义
ORM框架是一种程序技术,用于实现面向对象编程语言中不同类型系统的数据之间的转换。它创建了一个可在编程语言中使用的虚拟对象数据库,在django中,虚拟对象数据库也被称为模型,通过模型实现对目标数据库的读写操作。# 自动增长的主键,用于唯一标识每个人员# 人员姓名,字符串类型,最大长度为20# 人员年龄,整数类型# 入职日期,日期类型# 定义对象的字符串表示形式# 返回人员的姓名# 元类,用于配置模型的元数据# 设置模型的可读名称verbose_name = '人员信息'
2024-08-04 20:22:02
915
原创 flask web学习之模板(二)
flask模板之局部模板、宏、模板继承、空白行控制、加载静态文件、消息闪现、自定义错误页面以及在js,css中使用Jinja2语法。
2024-01-08 22:52:40
1246
原创 flask web学习之flask与http(四)
flask web关于http的重定向进阶功能,Ajax异步刷新界面,服务器推送,web安全推送方面的知识
2024-01-03 00:15:55
1330
原创 flask web开发学习之初识flask(三)
flask扩展,flask项目配置,flask命令,flask模板与静态文件,flask与mvc架构
2023-12-04 21:53:57
566
1
原创 vue3中使用mock.js
Mock.js 是一个用于生成随机数据的模拟数据生成库。它可以帮助开发人员在前端开发中创建模拟接口,以便进行测试和开发。生成随机数据:Mock.js 提供了丰富的数据模板语法,可以根据指定的规则生成各种类型的随机数据,包括数字、字符串、布尔值、日期等。拦截 Ajax 请求:使用 Mock.js,你可以拦截前端的 Ajax 请求,并根据模板定义生成模拟数据返回给前端,以模拟后端接口的行为。
2023-08-18 09:26:18
2696
原创 docker中的mysql容器数据被黑复原操作
此操作为安装数据库时开启了binlog的恢复操作,通过mysql自带的mysqlbinlog工具进行文件解析复原数据库。由于docker mysql镜像中没有mysqlbinlog工具,所以借助本地数据库自带的mysqlbinlog进行解析。
2023-05-26 11:32:35
1071
原创 git 深入浅出
Git是目前世界上最先进的分布式版本控制系统(没有之一)。版本控制系统就是可以记录每次文件改动的系统。版本控制系统目前分为两种,一种是集中式版本控制系统(cvs,svn),一种是分布式版本控制系统(git)。集中式版本管理系统的原理是将版本库存放到一台中央服务器上,到了要干活的时候,再从中央服务器上去取得最新的版本,干完活后,再将最新的版本推送给中央服务器。集中式版本控制系统最大的毛病是要联网才能工作,而分布式版本管理系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,多个人协作只要互相推送就好
2022-07-11 14:22:00
489
原创 vue3学习之(toRaw和markRaw,readonly 与 shallowReadonly,shallowReactive 与 shallowRef, toRef)
作用:将一个reactive生成的响应式对象转为普通对象。使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。作用:标记一个对象,使其永远不会再成为响应式对象。使用场景:...
2022-06-20 21:12:22
844
原创 Vue3学习之provide 与 inject,customRef
作用:实现祖孙(跨级)组件间通信。套路:父组件有一个provide选项来提供数据,后代组件有一个inject选项来开始使用这些数据。具体写法祖组件中:后代组件中:二、customRef作用:创建一个自定义的ref, 并对其依赖项追踪和更新触发进行显式控制。实现防抖功能:...
2022-06-14 21:22:50
195
原创 options API与 composition API的区别,响应式数据的判断
使用传统的配置式API,新增或修改一个功能需要去data,methods,computed各种配置里去改,如果功能较复杂,修改较麻烦。可以更加优雅的阻止我们的代码,函数。让相关功能的代码更加有序的组织在一起。想要组合式api发挥作用,必须要使用hook函数。...
2022-06-13 21:33:01
948
原创 vue3内置组件(Teleport组件,Fragment组件)-传送组件,减少层级
可将组件移动到 DOM 中 Vue app 之外的其他位置,主要是为了解决一些特殊场景下模态对话框组件、组件的渲染。
2022-06-09 21:41:47
1050
原创 vue3内置组件(Suspense组件)-可在网速缓慢时或子组件返回对象是promise对象时异步加载组件。
vue3内置组件(Suspense组件)
2022-06-08 21:51:56
347
原创 css布局之flex布局
文章目录一、flex布局原理布局原理二、flex布局父项常见属性【1】flex-direction【2】justify-content【3】flex-wrap【4】align-content【5】align-items【6】flex-flow三、flex布局子项常见属性【1】flex【2】align-self【3】order一、flex布局原理flex是flexible Box的缩写,意思是“弹性布局”,用来为盒装模型提供最大的灵活性。任何一个容器都能指定为flex容器。当我们为父盒子设为fle
2022-05-29 12:19:57
2465
原创 【1】初识Less(变量, 混合)
文章目录一、什么是Less二、功能1.变量在css规则中使用变量在选择器中使用变量在引入文件的时候使用变量在变量中使用变量$prop可以轻松的将属性视为变量(v3.x)2.混合不输出 Mixin来自现有样式的“混合”属性Mixins 中的选择器更复杂的选择器中混合属性受保护的 mixins!important 关键词mixin 如何传递参数参数命名@arguments变量高级参数和@rest变量一、什么是LessLess(Leaner Style Sheets)是一门像后兼容的css扩展语言,Less仅
2022-05-22 21:34:25
1227
原创 vue2.x基础
文章目录一、vue简介二、Vue安装1.第一种安装方式(标签导入)2.第二种安装方式(NPM 安装)3.第三种安装方式(命令行工具 (CLI))三、Vue概念一、vue简介Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。二、Vu
2022-05-16 20:45:10
321
原创 docker入门(基本组成,常用命令,镜像,容器, DockerFile,docker网络)
一、为什么会有dockerdocker 对环境配置给出了一个标准化的解决方案,能够通过docker镜像将应用程序所属要的系统环境由上而下打包,达到应用程序跨平台间的无缝接轨运作。docker的目标是“Bulid,Ship and Run Any App, Anywhere”,也就是通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的App及其运行环境能够做到“一次封装,到处使用”。docker 是在linux容器技术上发展而来的,将应用运行在docker容器上,而docker容器是在任何操
2022-05-04 19:09:41
1702
原创 vue3 设置定时任务执行
想要在vue3里实现定时任务,定时刷新,定时发送请求等等,我们需要借助window对象中的setInterval方法,关于这个方法的具体介绍参考这里Window setInterval() 方法。一、具体代码实现<template> <div> <div id="l1"> <!-- 页面代码 --> </div> </div></template><script>impor.
2022-04-19 13:54:24
12981
vue3+echarts+antdesingvue+mockjs大屏
2023-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅