설명
이 GitHub 리포지토리 locuslab/convmixer는 Asher Trockman과 Zico Kolter가 작성한 ICLR 2022 논문 "Patches Are All You Need? 🤷"에 상세히 설명된 신경망 아키텍처인 ConvMixer의 구현을 호스팅합니다. ConvMixer 모델의 주요 코드는 `convmixer.py`에 있습니다. 이 프로젝트는 학습을 위해 `pytorch-image-models` (timm) 프레임워크를 활용하며, ConvMixer를 지원하기 위해 이 프레임워크에 수정 사항을 포함합니다.
더 읽기
`pytorch-image-models` 프레임워크 내의 주요 수정 사항에는 `timm/models/convmixer.py` 추가, `timm/models/__init__.py` 업데이트, 그리고 해당 스케줄러 파일과 함께 "OneCycle" 학습률 스케줄러 통합이 포함됩니다. OneCycle 스케줄러가 언급되지만, 저자들은 표준 코사인 스케줄러도 ConvMixer 학습에 효과적일 수 있다고 제안합니다.
이 리포지토리는 ConvMixer-1536/20, ConvMixer-768/32, ConvMixer-1024/20을 포함한 여러 ConvMixer 변형에 대한 사전 학습된 모델 가중치를 제공하며, 커널 크기, 패치 크기 및 파일 크기에 대한 세부 정보가 포함되어 있습니다. ImageNet-1k와 같은 데이터셋에서 이러한 모델을 평가하기 위한 지침과 예제 명령이 제공되며, 높은 정확도를 목표로 합니다. 예를 들어, ConvMixer-1536/20은 ImageNet-1k 검증에서 81.37%의 정확도를 달성할 것으로 예상됩니다.
ConvMixer 학습도 상세히 설명되어 있으며, ImageNet-1k에서 다중 GPU 설정으로 분산 학습하기 위한 예제 명령이 포함되어 있습니다. 학습 명령은 배치 크기, 워커 수, 옵티마이저, 에포크, 학습률 스케줄러, 증강 기법(예: RandAugment, CutMix, MixUp) 및 입력 크기와 같은 하이퍼파라미터를 지정합니다. 이 리포지토리에는 Python으로 된 ConvMixer 아키텍처의 간소화된, 트윗 가능한 버전도 포함되어 있습니다.
또한, CIFAR-10에서 ConvMixer를 학습하기 위한 별도의 리포지토리가 연결되어 있으며, 작은 입력 크기에 대한 `--scale`과 같은 학습 파라미터를 조정하는 데 대한 조언이 제공됩니다. 이 프로젝트는 MIT 라이선스 하에 오픈 소스로 제공되어 커뮤니티 기여와 추가 개발을 장려합니다.
- 카테고리AI 모델 및 LLM
- 요금제오픈소스
- 배포클라우드, 셀프 호스팅
- 플랫폼웹
ConvMixer의 핵심 기능
ConvMixer 신경망 아키텍처 구현
"Patches Are All You Need? 🤷" 연구 논문 기반
ConvMixer 학습을 위한 코드 포함
평가를 위한 사전 학습된 모델 가중치 제공
ImageNet-1k 및 CIFAR-10 데이터셋 학습 지원
`pytorch-image-models` (timm) 프레임워크 활용
"OneCycle" 학습률 스케줄러 구현 포함
모델 평가를 위한 예제 명령 제공
분산 학습을 위한 예제 명령 포함
ConvMixer 모델의 간소화된, 트윗 가능한 버전 포함
다운로드 가능한 모델 가중치 제공
MIT 라이선스 하의 오픈 소스
ConvMixer 시작하기
모델 접근: GitHub 리포지토리를 로컬 머신으로 클론합니다.
환경 설정: PyTorch 및 `pytorch-image-models`를 포함한 필요한 Python 라이브러리를 설치합니다.
모델 로드: 제공된 Python 스크립트를 사용하여 ConvMixer 모델을 인스턴스화합니다.
모델 평가: 다운로드된 가중치와 검증 데이터셋을 사용하여 `validate.py` 스크립트를 사용합니다.
모델 학습: 지정된 데이터셋 경로 및 학습 매개변수와 함께 `distributed_train.sh` 스크립트를 실행합니다.
통합: 사용자 정의 학습 루프 또는 추론 파이프라인에 `convmixer.py` 코드를 적용합니다.
ConvMixer의 사용 사례
- 이미지 분류
- 모델 평가
- 사용자 정의 모델 학습
- 연구 및 개발
- 전이 학습
- 벤치마킹








