안정성 등급
LibreYOLO는 세 가지 별개의 것에 대해 'tier'라는 단어를 사용합니다: 내보내기 경로 뒤에 있는 증거, 모델 계열가 응답하는 호출 계약, 그리고 계열가 등록된 커버리지 그룹입니다. 이 페이지에서는 각각을 정의하고 그것이 의미하지 않는 것을 설명합니다.
내보내기 지원 등급
통화가 성공하는지를 결정하는 계층입니다. 이것은 트리플 (family, task, format)에 적용되며, 모든 조합에는 정확히 하나가 있습니다.
| 계층 | 의미 | export()에서 무슨 일이 일어나나요 |
|---|---|---|
validated | 숫자 일치(Numeric parity)는 CI 또는 문서화된 야간 실행에서 다룹니다 | 뛴다 |
available | 변환이 구현되었지만, 숫자 런타임 동등성 증거는 기록되지 않았습니다 | 뛴다 |
blocked | 지원되는 경로가 없습니다 | 사전 점검 중에 NotImplementedError를 발생시키며, 그 이유는 |
검증되었고 사용 가능한 경우, 확인이나 포괄적 경고 없이 모두 진행할 수 있습니다. 차이는 허가가 아니라 증거입니다: 검증된 항목은 뒤에 패리티 테스트와 since 릴리스가 있으며, 사용 가능한 항목은 아직 그렇지 않습니다. 예를 들어 macOS 예측 실행 없이 CoreML 변환은 사용 가능하지만 검증되지 않은 것입니다.
차단된 조합은 종속성 확인, 보정 로딩, 추적 또는 아티팩트 생성 전에 실패하므로 부분적으로 아무 것도 기록되지 않습니다.
검증된 모든 셀에는 패리티 번호가 나온 구성에 대해 설명하는 제약 조건이 있으며, 일반적으로 고정 입력 캔버스, 배치 1, FP32 및 명명된 런타임 버전입니다. 이를 일반적인 형식에 대한 내용보다는 해당 구성에 대한 주장으로 읽으십시오. 명시적 항목이 없는 셀을 채우는 규칙은 export matrix 페이지에 있습니다.
from libreyolo.models.registry import GROUPS, group_offrom libreyolo.export.support import get_support, validated_alternatives family = "yolo9" group = group_of(family)print(group, GROUPS[group]) print(get_support(family, "detect", "onnx").tier)print(validated_alternatives(family, "detect"))API 등급
통화를 어떻게 보일지 결정하는 계층. 계열은 정확히 하나의 계층에 속하며, 이는 아키텍처가 아니라 통화 계약에 의해 선택됩니다.
| 계층 | 팩토리 | 계약 |
|---|---|---|
| 검출기 팩토리 | LibreYOLO | 프롬프트 없이 진행되는 하나의 포워드는 찾은 모든 객체를 보정된 점수와 함께 반환합니다. 구성원은 체크포인트를 인식하여 자신을 등록합니다. |
| 프롬프트 가능 분할 | LibreSAM | 전방 전달은 호출 시 제공되는 이미지별 공간 또는 개념 프롬프트 없이는 의미가 없습니다. 대화형 및 상태 유지: 한 번 인코딩하고 여러 번 프롬프트 사용 |
| 오픈 보캐뷸러리 탐지 | LibreOpenVocab | 텍스트 조건 차별 탐지기. 클래스 목록은 set_classes에 의해 설정된 프롬프트입니다. |
| 비전-언어 | LibreVLM | 검출기로 작동하는 생성 모델. 클래스 목록은 프롬프트이고 신뢰도는 자리 표시자입니다. |
세 형제 계층은 고의로 탐지기 팩토리에 등록하지 않기 때문에 LibreYOLO("some-alias")가 그들에게 도달하지 않습니다. 그들은 체크포인트 스니핑이 아니라 크기 별칭과 자동 다운로드로 로드합니다.
네 가지 모두 동일하게 Results를 반환하므로, 이후 코드에는 변화가 없습니다. 차이점은 어떤 메서드가 작동하는지인데, 형제 계층에서는 train(), val() 및 export()에 대해 NotImplementedError를 발생시키고, SAM 및 오픈 보캐뷸러리 계층에서는 track()에 대해서도 발생시킵니다. 각 계층 페이지에는 자체 제외 항목이 나열되어 있습니다.
보장 그룹
교차 계열 테스트 실행에 어떤 계열이 포함되는지 결정하는 분류와, 독자가 모델 페이지에서 가장 자주 접하게 될 분류입니다. 모든 등록된 계열은 정확히 하나의 그룹에 등록되며, 등록된 계열이 등록에서 누락되면 테스트는 실패합니다. 아래 의미(Meaning) 열의 출처는 libreyolo/models/registry.py의 GROUPS이며, 동일 파일의 MODEL_GROUPS는 모든 계열을 할당하고, 계열(Families) 열은 그 할당을 직접 계산합니다. 레이블(Label) 열은 사이트가 모델 페이지 헤더에서 동일한 그룹을 위해 사용하는 짧은 이름입니다.
| 그룹 | 레이블 | 계열들 | 의미 |
|---|---|---|---|
g0 | 주력 | 2 | 공유 기능 범위에서 필요한 주력 앵커 |
g1 | 핵심 | 10 | 학습 가능한 검출기 커버리지 세트 |
g2 | 지원됨 | 14 | 추가로 학습 가능한 계열 보장 설정 |
g3 | 추론만 | 35 | 학습 실행이 없는 계열 |
g4 | 박물관 | 5 | 추론 범위를 가진 역사적 계열 |
s | 형제 자매 등급 | 21 | 형제 APIs(SAM, 오픈 보캡, VLM, 제로샷)를 별도로 다룸 |
그것은 여섯 그룹에 걸쳐 87가구입니다. g3 혼자만으로도 다른 모든 그룹을 합친 것보다 더 많은 가구를 보유하고 있습니다. 이는 대부분의 등록부가 적극적으로 학습된 탐지기보다는 추론 전용 계통과 박물관 소장 정보를 포함하기 때문입니다.
모델을 선택하는 독자를 위해, 그룹은 어떤 곳에 엔지니어링의 주의를 기대할 수 있는지를 알려주지, 계열의 정확도가 어떤지에 대해서는 말하지 않습니다. g0와 g1는 새로운 기능이 설계되고 처음 적용되는 곳이며, g2는 CI에서 녹색으로 유지되지만 같은 릴리스 주기에서가 아니라 기회가 있을 때 기능이 적용됩니다. g3는 한계를 나타내는 것이 아니라 부재를 나타냅니다: 예측, 검증, 그리고 계열가 지원하는 경우에는 내보내기가 모두 여전히 작동하며, train()는 g3 또는 g4 계열에서 NotImplementedError에 이유를 명시하고 무언가를 조용히 부분적으로 수행하지 않습니다. s 계열는 전혀 이러한 절충 조건에 놓이지 않습니다. 왜냐하면 LibreYOLO() 대신 자체 팩토리를 통해 로드되기 때문입니다. 체크포인트 파일 이름을 읽을 때 그룹이 작업, 계열 및 크기와 함께 어떻게 맞는지에 대해서는 핵심 개념을 참조하십시오.
그룹 자체만으로 사용자 대상 기능을 허용하거나 제한하지 않습니다. 지원은 계열이 구현한 API와 형식별 기능 검사에서 제공되며, 그룹 구성원 여부만으로 제공되지 않습니다. 그룹은 작업이 아니라 계열을 분류하므로 작업 범위의 커버리지 실행은 'g1 detect'와 같이 작업을 명시적으로 이름 짓습니다.
두 곳은 테스트에서만 아니라 런타임에 그룹을 읽습니다. collect_model_inventory()에서 libreyolo/models/inventory.py는 CLI 인벤토리가 출력하는 모든 항목에 그룹을 연결하고, pretrained=False는 g0 및 g1의 계열에 대해서만 처음부터 특수 재초기화 경로를 트리거합니다. 이 두 그룹 외부에서는 libreyolo/models/base/model.py의 검사가 완전히 건너뛰어지므로 pretrained=False는 계열 고유의 train()에 일반 키워드로 도달합니다.
학습
g3 또는 g4의 계열은 학습 구현이 없으며, 그 중 하나에서 train()를 호출하면 발생합니다. 이는 계열 코드의 속성이며, 그룹의 속성이 아닙니다. 그룹은 이를 발생시키는 것이 아니라 사실을 기록합니다.
학습을 하는 계열의 경우, 개별 증강 노브가 파이프라인에 도달하는지는 그 자체의 세 가지 값 어휘, used, gated_by_mosaic 및 ignored를 가진 별도의 질문입니다. 증강 매트릭스를 참조하십시오.
어떤 등급이 말해주지 않는 것
티어는 정확도 주장과 같지 않습니다. 검증된 내보내기는 산출물이 명시된 기준 내에서 원본 모델을 재현한다고 말할 뿐이며, 원본 모델이 데이터셋에서 얼마나 잘 점수를 받는지는 말하지 않습니다. 벤치마크 수치는 모델 페이지에 나와 있습니다.
계층 또한 라이선스 명시가 아닙니다. 가중치 라이선스는 한 계열 내에서도 다를 수 있으며, 특정 체크포인트를 호스팅하는 저장소가 권위 있습니다. 탐지기 팩토리에 계열가 있다고 해서 해당 계열의 공개된 가중치가 상업적 사용을 허용하는지에 대해서는 아무것도 말해주지 않습니다.