Training Alexnet on imagenette Dataset using OneFlow
Experiment environment:
- oneflow
- tqdm
- tensorboardX (optional)
wget https://oneflow-public.oss-cn-beijing.aliyuncs.com/datasets/imagenette_ofrecord.tar.gz
tar zxf imagenette_ofrecord.tar.gz
wget https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/cv/classification/alexnet/alexnet_oneflow_model.tar.gz
bash eager/train.sh
bash graph/train.sh
bash eager/infer.sh
bash graph/infer.sh
Compare Alexnet model on different training mode (Graph / Eager)
bash check/check.sh
Compare results will be saved to results/check_info
Compare Results Picture
bash check/draw.sh
The pictures will be saved to results/pictures
convert pytorch pretrained model to oneflow pretrained model
wget https://download.pytorch.org/models/alexnet-owt-7be5be79.pth
import torch
import oneflow as flow
from models.alexnet import alexnet
parameters = torch.load("alexnet-owt-7be5be79.pth")
new_parameters = dict()
for key,value in parameters.items():
if "num_batches_tracked" not in key:
val = value.detach().cpu().numpy()
new_parameters[key] = val
alexnet_module = alexnet()
alexnet_module.load_state_dict(new_parameters)
flow.save(alexnet_module.state_dict(), "alexnet_oneflow_model")