# Image classification reference training scripts
This folder contains reference training scripts for image classification.
They serve as a log of how to train specific models, as provide baseline
training and evaluation scripts to quickly bootstrap research.
Except otherwise noted, all models have been trained on 8x V100 GPUs with
the following parameters:
| Parameter | value |
| ------------------------ | ------ |
| `--batch_size` | `32` |
| `--epochs` | `90` |
| `--lr` | `0.1` |
| `--momentum` | `0.9` |
| `--wd`, `--weight-decay` | `1e-4` |
| `--lr-step-size` | `30` |
| `--lr-gamma` | `0.1` |
### AlexNet and VGG
Since `AlexNet` and the original `VGG` architectures do not include batch
normalization, the default initial learning rate `--lr 0.1` is too high.
```
torchrun --nproc_per_node=8 train.py\
--model $MODEL --lr 1e-2
```
Here `$MODEL` is one of `alexnet`, `vgg11`, `vgg13`, `vgg16` or `vgg19`. Note
that `vgg11_bn`, `vgg13_bn`, `vgg16_bn`, and `vgg19_bn` include batch
normalization and thus are trained with the default parameters.
### GoogLeNet
The weights of the GoogLeNet model are ported from the original paper rather than trained from scratch.
### Inception V3
The weights of the Inception V3 model are ported from the original paper rather than trained from scratch.
Since it expects tensors with a size of N x 3 x 299 x 299, to validate the model use the following command:
```
torchrun --nproc_per_node=8 train.py --model inception_v3\
--val-resize-size 342 --val-crop-size 299 --train-crop-size 299 --test-only --pretrained
```
### ResNet
```
torchrun --nproc_per_node=8 train.py --model $MODEL
```
Here `$MODEL` is one of `resnet18`, `resnet34`, `resnet50`, `resnet101` or `resnet152`.
### ResNext
```
torchrun --nproc_per_node=8 train.py\
--model $MODEL --epochs 100
```
Here `$MODEL` is one of `resnext50_32x4d` or `resnext101_32x8d`.
Note that the above command corresponds to a single node with 8 GPUs. If you use
a different number of GPUs and/or a different batch size, then the learning rate
should be scaled accordingly. For example, the pretrained model provided by
`torchvision` was trained on 8 nodes, each with 8 GPUs (for a total of 64 GPUs),
with `--batch_size 16` and `--lr 0.4`, instead of the current defaults
which are respectively batch_size=32 and lr=0.1
### MobileNetV2
```
torchrun --nproc_per_node=8 train.py\
--model mobilenet_v2 --epochs 300 --lr 0.045 --wd 0.00004\
--lr-step-size 1 --lr-gamma 0.98
```
### MobileNetV3 Large & Small
```
torchrun --nproc_per_node=8 train.py\
--model $MODEL --epochs 600 --opt rmsprop --batch-size 128 --lr 0.064\
--wd 0.00001 --lr-step-size 2 --lr-gamma 0.973 --auto-augment imagenet --random-erase 0.2
```
Here `$MODEL` is one of `mobilenet_v3_large` or `mobilenet_v3_small`.
Then we averaged the parameters of the last 3 checkpoints that improved the Acc@1. See [#3182](https://github.com/pytorch/vision/pull/3182)
and [#3354](https://github.com/pytorch/vision/pull/3354) for details.
### EfficientNet
The weights of the B0-B4 variants are ported from Ross Wightman's [timm repo](https://github.com/rwightman/pytorch-image-models/blob/01cb46a9a50e3ba4be167965b5764e9702f09b30/timm/models/efficientnet.py#L95-L108).
The weights of the B5-B7 variants are ported from Luke Melas' [EfficientNet-PyTorch repo](https://github.com/lukemelas/EfficientNet-PyTorch/blob/1039e009545d9329ea026c9f7541341439712b96/efficientnet_pytorch/utils.py#L562-L564).
All models were trained using Bicubic interpolation and each have custom crop and resize sizes. To validate the models use the following commands:
```
torchrun --nproc_per_node=8 train.py --model efficientnet_b0 --interpolation bicubic\
--val-resize-size 256 --val-crop-size 224 --train-crop-size 224 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b1 --interpolation bicubic\
--val-resize-size 256 --val-crop-size 240 --train-crop-size 240 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b2 --interpolation bicubic\
--val-resize-size 288 --val-crop-size 288 --train-crop-size 288 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b3 --interpolation bicubic\
--val-resize-size 320 --val-crop-size 300 --train-crop-size 300 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b4 --interpolation bicubic\
--val-resize-size 384 --val-crop-size 380 --train-crop-size 380 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b5 --interpolation bicubic\
--val-resize-size 456 --val-crop-size 456 --train-crop-size 456 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b6 --interpolation bicubic\
--val-resize-size 528 --val-crop-size 528 --train-crop-size 528 --test-only --pretrained
torchrun --nproc_per_node=8 train.py --model efficientnet_b7 --interpolation bicubic\
--val-resize-size 600 --val-crop-size 600 --train-crop-size 600 --test-only --pretrained
```
### RegNet
#### Small models
```
torchrun --nproc_per_node=8 train.py\
--model $MODEL --epochs 100 --batch-size 128 --wd 0.00005 --lr=0.8\
--lr-scheduler=cosineannealinglr --lr-warmup-method=linear\
--lr-warmup-epochs=5 --lr-warmup-decay=0.1
```
Here `$MODEL` is one of `regnet_x_400mf`, `regnet_x_800mf`, `regnet_x_1_6gf`, `regnet_y_400mf`, `regnet_y_800mf` and `regnet_y_1_6gf`. Please note we used learning rate 0.4 for `regent_y_400mf` to get the same Acc@1 as [the paper)(https://arxiv.org/abs/2003.13678).
#### Medium models
```
torchrun --nproc_per_node=8 train.py\
--model $MODEL --epochs 100 --batch-size 64 --wd 0.00005 --lr=0.4\
--lr-scheduler=cosineannealinglr --lr-warmup-method=linear\
--lr-warmup-epochs=5 --lr-warmup-decay=0.1
```
Here `$MODEL` is one of `regnet_x_3_2gf`, `regnet_x_8gf`, `regnet_x_16gf`, `regnet_y_3_2gf` and `regnet_y_8gf`.
#### Large models
```
torchrun --nproc_per_node=8 train.py\
--model $MODEL --epochs 100 --batch-size 32 --wd 0.00005 --lr=0.2\
--lr-scheduler=cosineannealinglr --lr-warmup-method=linear\
--lr-warmup-epochs=5 --lr-warmup-decay=0.1
```
Here `$MODEL` is one of `regnet_x_32gf`, `regnet_y_16gf` and `regnet_y_32gf`.
### Vision Transformer
#### vit_b_16
```
torchrun --nproc_per_node=8 train.py\
--model vit_b_16 --epochs 300 --batch-size 512 --opt adamw --lr 0.003 --wd 0.3\
--lr-scheduler cosineannealinglr --lr-warmup-method linear --lr-warmup-epochs 30\
--lr-warmup-decay 0.033 --amp --label-smoothing 0.11 --mixup-alpha 0.2 --auto-augment ra\
--clip-grad-norm 1 --ra-sampler --cutmix-alpha 1.0 --model-ema
```
Note that the above command corresponds to training on a single node with 8 GPUs.
For generatring the pre-trained weights, we trained with 8 nodes, each with 8 GPUs (for a total of 64 GPUs),
and `--batch_size 64`.
#### vit_b_32
```
torchrun --nproc_per_node=8 train.py\
--model vit_b_32 --epochs 300 --batch-size 512 --opt adamw --lr 0.003 --wd 0.3\
--lr-scheduler cosineannealinglr --lr-warmup-method linear --lr-warmup-epochs 30\
--lr-warmup-decay 0.033 --amp --label-smoothing 0.11 --mixup-alpha 0.2 --auto-augment imagenet\
--clip-grad-norm 1 --ra-sampler --cutmix-alpha 1.0 --model-ema
```
Note that the above command corresponds to training on a single node with 8 GPUs.
For generatring the pre-trained weights, we trained with 2 nodes, each with 8 GPUs (for a total of 16 GPUs),
and `--batch_size 256`.
#### vit_l_16
```
torchrun --nproc_per_node=8 train.py\
--model vit_l_16 --epochs 600 --batch-size 128 --lr 0.5 --lr-scheduler cosineannealinglr\
--
没有合适的资源?快使用搜索试试~ 我知道了~
torchvision-0.12.0源码
共697个文件
py:223个
pkl:97个
cpp:71个
需积分: 5 5 下载量 43 浏览量
2022-09-18
08:58:02
上传
评论
收藏 441.52MB ZIP 举报
温馨提示
可以在jetson上进行编译。此为官方源码
资源详情
资源评论
资源推荐
收起资源包目录
torchvision-0.12.0源码 (697个子文件)
v_SoccerJuggling_g24_c01.avi 608KB
v_SoccerJuggling_g23_c01.avi 496KB
hmdb51_Turnk_r_Pippi_Michel_cartwheel_f_cm_np2_le_med_6.avi 350KB
SchoolRulesHowTheyHelpUs_wave_f_nm_np1_ba_med_0.avi 283KB
RATRACE_wave_f_nm_np1_fr_goo_37.avi 258KB
TrumanShow_wave_f_nm_np1_fr_med_26.avi 237KB
pkg_helpers.bash 15KB
cuda_install.bat 14KB
gradlew.bat 2KB
install_runtime.bat 2KB
install_runtime.bat 2KB
install_activate.bat 2KB
install_activate.bat 2KB
activate.bat 1KB
activate.bat 1KB
vc_env_helper.bat 1015B
driver_update.bat 943B
vc_env_helper.bat 926B
make.bat 819B
build_cmake.bat 312B
build_frcnn.bat 225B
build_cpp_example.bat 218B
install_conda.bat 108B
setup.cfg 580B
.clang-format 3KB
iOS.cmake 10KB
docutils.conf 112B
config 234B
deform_conv2d_kernel.cpp 34KB
interpolate_aa_kernels.cpp 26KB
video_reader.cpp 22KB
decoder.cpp 21KB
decoder.cpp 15KB
inception.cpp 13KB
ps_roi_align_kernel.cpp 13KB
sync_decoder_test.cpp 13KB
util.cpp 12KB
roi_align_kernel.cpp 12KB
video.cpp 11KB
qroi_align_kernel.cpp 10KB
ps_roi_pool_kernel.cpp 9KB
video_sampler.cpp 9KB
stream.cpp 9KB
roi_pool_kernel.cpp 8KB
test_models.cpp 7KB
decode_png.cpp 7KB
googlenet.cpp 7KB
deform_conv2d_kernel.cpp 7KB
densenet.cpp 7KB
mnasnet.cpp 6KB
audio_sampler.cpp 6KB
shufflenetv2.cpp 6KB
decode_jpeg.cpp 5KB
decode_jpeg_cuda.cpp 5KB
encode_png.cpp 5KB
mobilenet.cpp 5KB
ps_roi_align_kernel.cpp 5KB
roi_align_kernel.cpp 5KB
resnet.cpp 4KB
ps_roi_pool_kernel.cpp 4KB
roi_pool_kernel.cpp 4KB
qnms_kernel.cpp 4KB
video_stream.cpp 4KB
vgg.cpp 4KB
squeezenet.cpp 4KB
seekable_buffer.cpp 4KB
nms_kernel.cpp 3KB
encode_jpeg.cpp 3KB
audio_stream.cpp 3KB
read_write_file.cpp 3KB
interpolate_aa.cpp 3KB
deform_conv2d.cpp 3KB
roi_align.cpp 2KB
gpu_decoder.cpp 2KB
sync_decoder.cpp 2KB
ps_roi_align.cpp 2KB
subtitle_stream.cpp 2KB
test_custom_operators.cpp 2KB
ps_roi_pool.cpp 2KB
roi_pool.cpp 2KB
alexnet.cpp 2KB
memory_buffer.cpp 2KB
test_frcnn_tracing.cpp 2KB
deform_conv2d_kernel.cpp 1KB
util_test.cpp 1KB
main.cpp 1KB
image.cpp 1KB
ps_roi_align_kernel.cpp 1KB
decode_image.cpp 1KB
ps_roi_pool_kernel.cpp 1016B
roi_align_kernel.cpp 1009B
roi_pool_kernel.cpp 1001B
subtitle_sampler.cpp 908B
time_keeper.cpp 895B
vision.cpp 851B
nms.cpp 753B
common_jpeg.cpp 724B
nms_kernel.cpp 700B
cc_stream.cpp 643B
custom_torchvision.css 720B
共 697 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
FL1623863129
- 粉丝: 9783
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0