DeiT
DeiT(Data-efficient image Transformer)는 추가 사전 학습 데이터 없이 ImageNet-1k만으로 학습한 일반 Vision Transformer 분류기입니다. LibreYOLO는 tiny, small, base patch-16 크기를 고정된 추론 전용 전시물로 제공합니다.
- 작업
- classify
- 크기
- t, s, b at 224 px
- 설치
pip install libreyolo- 지원 티어
- 박물관, v부터 지원. 동결된 전시 모델입니다. 버그만 수정합니다.
- 라이선스
- 코드 Apache-2.0, 가중치 Apache-2.0. 상업적 사용
설치
DeiT에는 기본 패키지 외에 추가 항목이 필요하지 않습니다.
pip install libreyolo예측
이 계열은 추론 전용입니다. train()이 NotImplementedError를 일으키므로 이
페이지에는 학습 절이 없습니다. 예측, 검증, 내보내기는 모두 지원합니다. 가중치는
처음 사용할 때 Hugging Face에서 내려받아 로컬에 캐시됩니다. 파일 이름의 -cls
접미사는 필수이며 분류 작업을 선택합니다.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDeiTb-cls.pt")result = model(SAMPLE_IMAGE) print(result.probs.top1, result.probs.top1conf)print(result.probs.top5)libreyolo predict model=LibreDeiTb-cls.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg반환되는 Results 객체에는 boxes 대신 probs 텐서가 들어 있습니다. top1과
top5는 ImageNet-1k 클래스 1,000개를 인덱싱하며 top1conf는 최상위 예측의
softmax 점수입니다. 각 크기는 위치 임베딩에 따른 고정 입력 해상도를 사용합니다.
전처리는 해당 크기로 조정한 뒤 중앙 크롭하며, 다른 imgsz를 전달하면 조용히 다시
샘플링하지 않고 오류가 발생합니다. 소스, 스트리밍, 결과 처리는
예측을 참조합니다.
검증
val()은 일반적인 train/<class>/ 및 val/<class>/ 폴더 구조로 배치된
데이터셋을 대상으로 측정한 top-1 및 top-5 정확도 딕셔너리를 반환합니다.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeiTb-cls.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])libreyolo val model=LibreDeiTb-cls.pt data=my-dataset.yaml내보내기
| 작업 | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| classify | classify to ONNX: 지원함 | classify to TorchScript: 지원함 | classify to ExecuTorch: 지원함 | classify to TensorRT: 지원함 | classify to OpenVINO: 지원함 | classify to Paddle: 지원하지 않음 | classify to MNN: 지원하지 않음 | classify to RKNN: 지원하지 않음 | classify to ncnn: 지원함 | classify to TFLite: 지원하지 않음 | classify to CoreML: 지원하지 않음 | classify to Core AI: 지원하지 않음 |
내보낸 아티팩트는 파일 접미사에 따라 LibreYOLO()로 다시 불러오므로 .onnx 또는
.engine 파일이 체크포인트처럼 동작하며 동일한 Results를 반환합니다.
LibreYOLO를 설치하지 않고 런타임에서 그래프를 직접 실행할 수도 있지만 이 경우
전처리와 후처리를 직접 작성해야 합니다.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeiTb-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreDeiTb-cls.pt format=onnxlibreyolo export model=LibreDeiTb-cls.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # 팩토리는 파일 접미사로 라우팅하므로 내보낸 아티팩트도# 체크포인트처럼 불러오며 동일한 Results 객체를 반환합니다.model = LibreYOLO("LibreDeiTb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)체크포인트
이 계열에서 공개된 모든 가중치 파일입니다.
| 파일 | 입력(px) | 가중치 라이선스 |
|---|---|---|
| classify | ||
| LibreDeiTt-cls.pt | 224 | apache-2.0 |
| LibreDeiTs-cls.pt | 224 | apache-2.0 |
| LibreDeiTb-cls.pt | 224 | apache-2.0 |
위의 모든 파일은 현재 LibreYOLO 조직에 있으며 처음 사용할 때 내려받습니다.
라이선스
내려받는 특정 가중치의 Hugging Face 저장소에서 라이선스를 확인하십시오. LibreYOLO 조직의 모든 체크포인트에는 라이선스가 있으며 한 계열 안에서도 항상 같지는 않습니다. 해당 저장소가 신뢰할 수 있는 기준입니다. 아래 요약은 이 페이지를 마지막으로 검증했을 때 적용된 내용을 설명합니다.
관련 라이선스에 관한 설명이며 법률 자문이 아닙니다. 상업적으로 중요한 사안이라면 라이선스를 직접 읽고 별도의 법률 자문을 받으십시오.
- 원작
- DeiT, Meta Research
- 업스트림 라이선스
- Apache-2.0
- LibreYOLO 코드
- MIT
- 가중치
- Apache-2.0, huggingface.co/LibreYOLO에 다시 게시됨
- 해석
- Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code, and weights you train yourself on your own data are yours. LibreYOLO ships the plain tiny, small and base patch-16 classifiers at fixed 224px only; the distillation-token, CaiT, DeiT III and 384px variants from the same repository are out of scope.
인용
@InProceedings{pmlr-v139-touvron21a,
title = {Training data-efficient image transformers & distillation through attention},
author = {Touvron, Hugo and Cord, Matthieu and Douze, Matthijs and Massa, Francisco and Sablayrolles, Alexandre and Jegou, Herve},
booktitle = {International Conference on Machine Learning},
pages = {10347--10357},
year = {2021},
volume = {139},
month = {July}
}github.com/facebookresearch/deit#-model-zoo에 있는 저자의 인용 블록에서 복사했습니다.