抄写YOLOE源码——先抄写ultralytics包,关于__init__.py

什么是__init__.py文件呢,这个文件是一个标志。比如有一个文件夹的名字叫做"ultralytics",里面如果有了__init__.py文件,pip就会认为ultralytics文件夹是一个pip包,这个文件只能叫这个名字,因为pip只识别这个名字,换个名字就不行了。

再看这个文件里面,有一个__version__ = "8.3.39"。这一行表示版本号,版本号的变量名只能叫做__version__,因为pip只识别这个名字,换个名字就不行了。版本号的格式也只能是几点几点几,不能是别的。

然后是设置环境变量:

if not os.environ.get("OMP_NUM_THREADS"):

os.environ"OMP_NUM_THREADS" = "1"

这个环境变量表示的是允许的线程数,从代码中可知,至少也应该有一个线程。

然后就是导包代码:

from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOE

from ultralytics.utils import ASSETS, SETTINGS

from ultralytics.utils.checks import check_yolo as checks

from ultralytics.utils.downloads import download

再然后,settings = SETTINGS,这行代码是起别名

最后:

all = (

"version",

"ASSETS",

"YOLO",

"YOLOE",

"NAS",

"SAM",

"FastSAM",

"RTDETR",

"checks",

"download",

"settings",

)

这个表示从ultralytics这个包中都能import什么

相关推荐
BD_Marathon28 分钟前
消息对象中字段的说明
java·前端·python
Ai-_Man32 分钟前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
Java后端的Ai之路34 分钟前
Python进阶探索23 - Python中的Time与Datetime模块
开发语言·数据库·python·datetime·time
沫璃染墨1 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
Java后端的Ai之路1 小时前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
happylifetree1 小时前
Python22-26:核心语法-流程控制语句-if条件判断
python
程序员清风2 小时前
PydanticAI 实战:用类型安全构建可靠的 Python Agent
开发语言·python·安全
落魄实习生2 小时前
Agent Scope Java 2.x 系列【10】Middleware
java·开发语言·ai
梦想画家2 小时前
SQLMesh Python 模型入门(三):前后置语句、蓝图建模与避坑指南
大数据·python·sqlmesh
Ramble_Naylor2 小时前
async/await:让一个线程同时等很多件事
开发语言·rust