Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
deling.wei 2b0476e14b | 1 year ago | |
---|---|---|
ascend310_infer | 1 year ago | |
model | 1 year ago | |
scripts | 1 year ago | |
src | 1 year ago | |
README.md | 1 year ago | |
eval.py | 1 year ago | |
export.py | 1 year ago | |
postprocess.py | 1 year ago | |
preprocess.py | 1 year ago | |
train.py | 1 year ago |
[Model Description](#Model Description)
[Mixed Precision](#Mixed Precision)
[Environment Requirements](#Environment Requirements)
[Script Description](#Script Description)
[Model Train](#Model Train)
[Model Eval](#Model Eval)
[Model Infer](#Model Infer)
[Model Export](#Model Export)
[Run Infer](#Run Infer)
[Model Description](#Model Description)
[Description of Random Situation](#Description of Random Situation)
[Model_Zoo Homepage](#Model_Zoo Homepage)
The generative adversarial network consists of a generator G and a discriminator D. The function of the former is to generate realistic random samples based on random noise data, and the function of the latter is to identify whether the samples are real or generated by the generator. The feat of BigGAN is achieved through large batches, large parameters, "truncation trick" and large-scale GAN training stability control.
ImageNet2012 Dataset
The mixed precision training method accelerates the deep learning neural network training process by using both the single-precision and half-precision data formats, and maintains the network precision achieved by the single-precision training at the same time. Mixed precision training can accelerate the computation process, reduce memory usage, and enable a larger model or batch size to be trained on specific hardware. For FP16 operators, if the input data type is FP32, the backend of MindSpore will automatically handle it with reduced precision. Users could check the reduced-precision operators by enabling INFO log and then searching ‘reduce precision’.
Hardware(Ascend/GPU/CPU)
Prepare hardware environment with Ascend/GPU/CPU processor.
Framework
For more information, please check the resources below:
├── model_zoo
├── README.md #readme file
├── biggan
├── ascend310_infer #for ascend310 model infer
│ ├── build.sh #for env build
│ ├── CMakeLists.txt
│ ├── inc
│ │ └── utils.h #necessary header file
│ └── src
│ ├── main.cc #model infer main .c
│ └── utils.cc
├── export.py #for model infer export mindir
├── model
│ ├── BigGAN.py #model def file
│ ├── __init__.py
│ ├── layers.py #model layer file
│ └── losses.py #model loss def file
├── postprocess.py #for model infer postprocess
├── preprocess.py #for model infer preprocess
├── scripts
│ ├── run_infer_310.sh #model infer script
│ ├── train_1p.sh #model train 1p shell script
│ ├── train_8p.sh #model train 8p shell script
├── src
│ ├── calculate_inception_moments.py #for model train measurable cal
│ ├── datasets.py #for model dataset
│ ├── inception_utils.py #model necessary file
│ ├── inception_v3.py #inception_v3 def file
│ ├── __init__.py
│ └── utils.py #model utils file
└── train.py #model train file
1、training model on 1 device
bash ./scripts/run_standalone_train_ascend.sh 'DEVICE_ID' 'DATASET_PATH'
exp: bash ./scripts/run_standalone_train_ascend.sh '0' '/dataset/imagenet'
2、training model on multi device
bash ./scripts/run_distribute_train_ascend.sh 'DATASET_PATH'
exp:bash ./scripts/run_distribute_train_ascend.sh '/dataset/imagenet'
Note:hccl.json which is specified by RANK_TABLE_FILE is needed when you are running a distribute task. You can generate it by using the [hccl_tools](Note:hccl.json which is specified by RANK_TABLE_FILE is needed when you are running a distribute task. You can generate it by using the hccl_tools.).
bash ./scripts/run_eval.sh 'INPUT_PATH' 'OUTPUT_PATH' 'USED_CKPT' DEVICE_ID
exp: bash ./scripts/run_eval.sh 'test.jpg' './save_img' './G.ckpt' 0
trans .ckpt to .mindir
python export.py --use_device 0 --ckpt_pth 'CKPT_PATH'
exp:python export.py --use_device 0 --ckpt_pth './weights/biggan.ckpt'
bash ./scripts/run_infer_310.sh 'MINDIR_PATH' 'DATA_PATH'
exp:bash ./scripts/run_infer_310.sh 'biggan.mindir' '/imagenet/eval'
Parameters | Ascend | GPU |
---|---|---|
Model Version | BigGAN | BigGAN |
Resource | Ascend 910; CPU 2.60GHz, 192cores; Memory 755G; OS Euler2.8 | NV SMX2 V100-32G |
uploaded Date | 07/25/2022 (month/day/year) | 07/25/2022 (month/day/year) |
MindSpore Version | 1.6.0 | 1.6.0 |
Dataset | ImageNet | ImageNet |
Training Parameters | epoch=100, batch_size = 256, lr=0.01 | epoch=100, batch_size=256, lr=0.01 |
Optimizer | Adam | Adam |
Loss Function | Binary CrossEntropy Loss | Binary CrossEntropy Loss |
outputs | probability | probobility |
Loss | G:0.22/D:0.98 | G:0.23/D:1.01 |
Speed | 1pc: 30 s/iter; 8pcs: 42 s/iter | 1pc: 35 s/iter; 8pcs: 50 s/iter |
Checkpoint for Fine tuning | 513.5M (.ckpt file) | 513.5M (.ckpt file) |
Model for inference | 513M(.mindir file) | / |
In config file, we set the seed ,We also use random seed in train.py.
Please check the official homepage.
No Description
Python C++ Shell Text
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》