win11安装paddlelabel并创建目标检测项目

创建虚拟环境

conda create -n paddlelabel python=3.11.11
conda activate paddlelabel

通过以下命令安装

pip install --upgrade paddlelabel

输入命令pdlabel运行paddlelabel,发现报错:

ModuleNotFoundError: Please install connexion using the 'flask' extra

输入命令:

pip install connexion[flask] connexion[uvicorn]

再启动报错:

TypeError: Field.__init__() got an unexpected keyword argument 'exclude'

看报错信息定位到

File "...\site-packages\paddlelabel\api\schema\task.py", line 18, in TaskSchema

猜测是多包之间的版本兼容问题,把这行改了

# annotations = fields.List(Nested("AnnotationSchema"), exclude=("task",))
annotations = fields.List(fields.Nested("AnnotationSchema", exclude=("task",)))

然后运行会出现这个问题:

TypeError: run() got an unexpected keyword argument 'debug'

意思是run()函数不能指定debug参数,这里怀疑是版本兼容问题,但由于没找到具体的版本,反复测试版本很费事,就直接把debug的参数去掉了,如下:

# ...\site-packages\paddlelabel\__main__.py
connexion_app.run(host=configs.host, port=configs.port, debug=configs.debug)
# 复制并注释掉原来的行,删掉debug参数
connexion_app.run(host=configs.host, port=configs.port)

再启动就能正常打开界面:
在这里插入图片描述
之后选中目标检测,导入数据集,创建失败,运行以下命令:

pip install uvicorn==0.14.0 --no-deps
pip install connexion==2.14.1 --no-deps
pip install anyio==3.0 --no-deps
pip install Werkzeug==2.2.2 --no-deps
pip install starlette==0.21.0 --no-deps
pip install Flask==2.2.2 --no-deps
pip install Flask-Cors==3.0.10 --no-deps
pip install a2wsgi==1.8.0 --no-deps
pip install alembic==1.12.1 --no-deps
pip install a2wsgi uvicorn==0.18.1

之后还有报错,将这两个文件原封不动修改掉:

# 我的路径是:D:\anaconda3\envs\paddlelabel\Lib\site-packages\paddlelabel\api\schema\annotation.py
# -*- coding: utf-8 -*-
from marshmallow import fieldsfrom paddlelabel.api.model import Annotation
from .base import BaseSchemaclass AnnotationSchema(BaseSchema):class Meta(BaseSchema.Meta):model = Annotation# not required when calling api# task = fields.Int(allow_none=True)task = fields.Nested("TaskSchema", only=("id",), dump_only=True)project_id = fields.Integer()task_id = fields.Integer()# task = fields.Nested("TaskSchema", exclude=("annotations", "datas"))label = fields.Nested("LabelSchema")
# 我的路径是:D:\anaconda3\envs\paddlelabel\Lib\site-packages\paddlelabel\api\schema\task.py
# -*- coding: utf-8 -*-
import json
import timefrom marshmallow import post_load, pre_load, pre_dump, post_dump, fields
from marshmallow.fields import Nestedfrom paddlelabel.api.model import Task
from paddlelabel.api.schema.util import str2sault
from .base import BaseSchemaclass TaskSchema(BaseSchema):class Meta(BaseSchema.Meta):model = Task# project = Nested("ProjectSchema")# annotations = fields.List(Nested("AnnotationSchema"), exclude=("task",))id = fields.Int()annotations = fields.List(Nested("AnnotationSchema", exclude=("task",)))# annotations = fields.List(fields.Nested("AnnotationSchema", exclude=("task",)))data_paths = fields.List(fields.String())# datas = fields.List(Nested("DataSchema"), exclude=("task",))# # TODO: confirm data['result'] dont cause troubledef output(self, task, **kwargs):paths = []for data in task.datas:paths.append(f"/datas/{data.data_id}/image?sault={str2sault(data.path+str(data.created))}")task.data_paths = pathsreturn task

之后再次创建之前,要先回到主页,把创建失败的项目给删掉才能重新创建该项目。
再次创建成功:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87886.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于Novatek B/G-R/G白平衡色温坐标系再探究

目录 一、准备知识 二、色温坐标系的构建 三、Novatek白平衡色温坐标系的再探究 2.1 直线白点框 2.2双曲线白点框 四、仿真代码 之前写的一篇博文关于联咏(Novatek )白平衡色温坐标系探究-CSDN博客感觉逻辑上有些混乱,这个周末我又好好思考了下,以…

基于路径质量的AI负载均衡异常路径检测与恢复策略

AI流量往往具有突发性、大象流(大规模数据流)占比高的特点,极易造成网络拥塞热点。一条质量不佳(如高延迟、高丢包、带宽受限)的路径,不仅自身无法有效传输数据,如果ECMP继续向其分发流量&#…

ubuntu22.04 安装cuda cudnn

1.输入nvidia-smi查看可以支持安装的cuda最大版本 2.cuda与cudnn版本的选择 核心原则 向下兼容性:较新的 cuDNN 通常兼容旧版 CUDA,但反之不成立 框架依赖:优先考虑深度学习框架(TensorFlow/PyTorch)的版本要求 硬件…

5、Receiving Messages:Message Listener Containers

提供了两个MessageListenerContainer实现: KafkaMessageListenerContainer ConcurrentMessageListener容器 KafkaMessageListenerContainer在单个线程上接收来自所有主题或分区的所有消息。ConcurrentMessageListenerContainer委托给一个或多个KafkaMessageListe…

JDBC 注册驱动的常用方法详解

JDBC 注册驱动的常用方法详解 在 JDBC 中,注册驱动是建立数据库连接的第一步。以下是几种常用的驱动注册方式: 1. 显式类加载(传统方式) // 通过 Class.forName() 加载驱动类 Class.forName("com.mysql.cj.jdbc.Driver&qu…

插入数据优化

目录 一.插入数据优化 1.insert语句优化 ①批量插入 ②手动提交事务 ③主键顺序插入 2.大批量插入数据(100万条) 举例 第一步:连接数据库时,加上--local-infile属性 第二步:查看全局参数local_infile的值&…

区块链在域名系统安全中的应用进展综述

一、区块链与DNS结合的核心原理1.1 传统DNS的安全缺陷中心化架构:传统DNS依赖中心化服务器(如ICANN管理的根服务器),存在单点故障风险,易受DDoS攻击或配置错误影响。协议脆弱性:DNS协议设计之初缺乏加密和认…

GO Web 框架 Gin 完全解析与实践

目录 1. 为什么选择 Gin?解锁 Go Web 开发的超能力 Gin 的核心优势 什么时候用 Gin? 第一个 Hello World 2. 路由的艺术:从简单 GET 到复杂匹配 基础路由 高级路由技巧 性能优化小贴士 3. 中间件的魔法:让请求处理更聪明 内置中间件 自定义中间件 中间件的最佳实…

RabbitMQ使用topic Exchange实现微服务分组订阅

案例场景:用户下单后需要多个微服务(如营销、会员)分别订阅并处理订单事件,且每个微服务可能有多个集群实例,需要保证同一个微服务的集群中,只有一个实例消费到消息。不同于Kafka和rocketMQ有分组消费的功能…

kotlin 通道trysend方法

trySend 方法是 Kotlin 协程中 Channel 类的一个重要功能。它用于向通道发送元素,但与 send 方法不同的是,trySend 是非阻塞的。这意味着它不会在通道满时挂起当前协程,而是会立即返回。 trySend 方法的效果 非阻塞行为: 当你调用…

winform CheckedListBox单击选中解决方案

在WinForms的CheckedListBox控件中,默认需要双击才能切换选中状态(复选框勾选)。要实现单击即选中,需要通过代码处理鼠标点击事件并手动切换选中状态。以下是实现步骤: 1.CheckOnClick属性置为true即可。 2.通过事件处…

Docker文件操作、数据卷、挂载

一:容器文件操作 在Docker环境中,管理容器内部的文件是一个常见的需求。 无论是为了配置应用、备份数据还是调试问题,了解如何高效地进行文件操作都是非常重要的。 docker cp命令提供了一种简单的方法来在宿主主机和容器之间复制文件或目录…

接口漏洞怎么抓?Fiddler 中文版 + Postman + Wireshark 实战指南

接口安全是现代应用开发中的高危环节:一旦API存在未授权访问、参数篡改、权限绕过等漏洞,可能直接导致用户信息泄露、资金损失甚至整个平台瘫痪。对于开发和安全人员来说,光依赖后端日志排查远远不够,需要对接口进行主动安全性验证…

iOS 出海 App 安全加固指南:无源码环境下的 IPA 加固与防破解方法

随着越来越多国内开发团队将iOS App推向海外市场,如何在交付和分发环节保护应用安全成为出海过程中的重要议题。尤其是App进入多个海外应用商店或通过第三方渠道发行时,容易被当地黑产或竞争对手进行逆向分析,从而暴露内部API、核心业务流程等…

React Hooks 内部实现原理与函数组件更新机制

React Hooks 内部实现原理与函数组件更新机制 Hooks 的内部实现原理 React Hooks 的实现依赖于以下几个关键机制: 1. 链表结构存储 Hook 状态 React 使用单向链表来管理 Hooks 的状态。每个 Hook 节点包含: type Hook {memoizedState: any, // 存储…

分布式会话的演进和最佳实践,含springBoot 实现(Java版本)

一、分布式会话的背景 在微服务架构或集群部署环境下,请求可能落在不同的服务器节点,无法再依赖本地内存来维护用户 Session。因此,需要一种跨节点共享 Session 的机制,这就是 分布式会话管理的核心目标。二、分布式会话的演进历程…

ch03 部分题目思路

G. 收集 由于稀有度相同的物品需要一起处理&#xff0c;我们先把他们聚集到一起。 类似这样&#xff1a; vector<int> g[maxn]; ... {cin >> x >> c;g[c].push_back(x); }那么我们需要一个贪心的思路&#xff1a; 肯定是按 ccc 从小往大收集的&#xff1b;对…

Django多表查询(ORM)

1、建立表结构 三个表&#xff1a;book、Author、publisher。 书籍和作者是多对多的关系&#xff0c;一本书可以有多个作者&#xff0c;一个作者可以有多本书。 出版社和书籍是一对多的关系&#xff0c;一个出版社可以出版多本书&#xff08;多方&#xff0c;多方定义外键&…

C# 集合表达式和展开运算符 (..) 详解

集合表达式 (Collection Expressions)基本语法支持的集合类型展开运算符 (..)基本用法实际应用示例创建新集合合并集合与现有API结合性能考虑高级用法多维集合自定义集合注意事项与传统方式的比较总结集合表达式 (Collection Expressions) C# 12 引入了集合表达式&#xff0c;…

数学视频动画引擎Python库 -- Manim Voiceover 安装 Installation

文中内容仅限技术学习与代码实践参考&#xff0c;市场存在不确定性&#xff0c;技术分析需谨慎验证&#xff0c;不构成任何投资建议。 Manim Voiceover 是一个为 Manim 打造的专注于语音旁白的插件&#xff1a; 直接在 Python 中添加语音旁白&#xff1a; 无需使用视频编辑器&…