InceptionV3模型是谷歌Inception系列里面的第三代模型,相比于其它神经网络模型,Inception网络最大的特点在于将卷积核组合在一起,建立了一个多分支结构,使得网络能够并行地计算。
图片
Inception网络架构的优点更高的表现力:Inception网络具有更高的表现力,即可以在相同的计算资源下获得更好的分类效果。并行计算:通过并行计算,不同分支的计算可以在不同的GPU上进行,并且可以有效地活用多个GPU的计算资源。对计算资源的分配灵活:Inception网络中不同分支的计算量可以通过调整参数来分配不同的计算资源,以获得最佳的性能。降维:Bottleneck层可以有效地减少计算量,提高计算效率。分解到更小的卷积以及空间分解为不对称卷积
图片

图片

图片
数据集使用的数据集:CIFAR-10数据集大小:175M,共10个类、6万张32*32彩色图像训练集:146M,共5万张图像测试集:29M,共1万张图像下载的时候选择binary version环境:CPU windows因此script中是shell脚本是无法直接使用的训练过程修改用到的yaml文件,默认为default_config.yaml文件,训练cifar10数据集时,ds_type: cifar10,训练imagenet数据集时,ds_type: imagenet.因为我使用的是cpu, 存在default_config_cpu.yaml,因此直接修改此文件。CPU:

  bash script/run_standalone_train_cpu.sh DATA_PATH ./ckpt该脚本的内容其实最终还是运行的python代码DATA_DIR=$1

CKPT_PATH=$2

BASE_PATH=$(cd ./"dirname $0" || exit; pwd)
CONFIG_FILE="${BASE_PATH}/../default_config_cpu.yaml"

python ./train.py --config_path=$CONFIG_FILE --platform 'CPU' --dataset_path $DATA_DIR \
--ckpt_path=$CKPT_PATH > log.txt 2>&1 &因此windows上直接把python那一行取出来直接运行就可以。python ./train.py --config_path=D:\ai\models\official\cv\Inception\inceptionv3\default_config_cpu.yaml --platform 'CPU' --dataset_path E:\ai\res50\dataset\cifar-100-python --ckpt_path=D:\ai\models\official\cv\Inception\inceptionv3\ckpt上面已经指定了CPU,为什么还报错了?那估计是引号的问题。python ./train.py --config_path=D:\ai\models\official\cv\Inception\inceptionv3\default_config_cpu.yaml --platform CPU --dataset_path E:\ai\res50\dataset\cifar-100-python --ckpt_path=D:\ai\models\official\cv\Inception\inceptionv3\ckpt去除引号再试试。
图片
去掉后就可以了。
图片
运行特别耗时。
图片
半天也就完成了十几个epoch,于是果断中断。
图片
然后取最后一个ckpt做评估python ../eval.py --config_path=D:\ai\models\official\cv\Inception\inceptionv3\default_config_cpu.yaml --platform CPU --dataset_path E:\ai\res50\dataset\cifar-100-python --checkpoint D:\ai\models\official\cv\Inception\inceptionv3\ckpt\ckpt_0\inceptionv3-rank0-13_468.ckpt
图片
评估的数据集需要自己准备,为方便就直接使用训练集,直接修改下文件名就行。
图片
因为只训练了很少了epoch,因此精度3不高很正常。然后是导出模型。在这里导出onnx试试。python export.py --ckpt_file D:\ai\models\official\cv\Inception\inceptionv3\ckpt\ckpt_0\inceptionv3-rank0-13_468.ckpt --device_target CPU --file_format "ONNX"
图片
提供的脚本确实配置文件的参数,加上后再次导出。
图片
onnx成功导出
图片
然后基于onnx做评估。python eval_onnx.py --config_path=D:\ai\models\official\cv\Inception\inceptionv3\default_config_cpu.yaml --platform=CPU --dataset_path E:\ai\res50\dataset\cifar-100-python
图片
config文件补充onnx_file的配置
图片
最终评估的结果和上面是一致的。
图片


文良_颜丑
1 声望0 粉丝