抄写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什么

相关推荐
兵慌码乱12 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei15 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi0021 小时前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵2 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup112 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi002 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵2 天前
用 Python 实现 Take-Away 游戏
python·游戏