什么是__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什么