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

相关推荐
来自远方的老作者15 小时前
第10章 面向对象-10.4 继承
开发语言·python·继承·单继承·多继承·super函数
逻辑驱动的ken15 小时前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
小手cool15 小时前
如何在Java中根据另一个配对集合对一个集合进行排序
java·开发语言
解救女汉子15 小时前
MySQL并发写入如何避免锁竞争_使用队列缓冲与批量插入优化
jvm·数据库·python
qq_3422958215 小时前
HTML函数开发需要SSD吗_SSD对HTML函数开发效率影响【详解】
jvm·数据库·python
升鲜宝供应链及收银系统源代码服务15 小时前
OMS 订单模块重构正式文档(一)---升鲜宝生鲜配送供应链管理系统
java·开发语言·重构·生鲜配送源代码·生鲜供应链源代码
qq_4327036615 小时前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
m0_6403093015 小时前
如何将 sticky 元素精确定位到父容器的右上角
jvm·数据库·python
带娃的IT创业者15 小时前
深度解析 Claude Design:如何利用 Anthropic 最新设计范式构建 AI 原生应用
人工智能·python·llm·claude·应用开发·anthropic·ai原生应用
是梦终空15 小时前
计算机毕业设计271—基于python+深度学习+YOLOV7的车牌识别系统(源代码+数据库+3万字论文)
python·深度学习·opencv·yolo·毕业设计·pyqt5·车牌识别系统