自动网络搜索AutoDL之PaddlePaddle实现

本项目是百度大数据实验室(BDL)分层神经架构搜索项目(HINAS)自动发现的模型,利用深度增强学习完成设计。系统由两部分组成,第一部分是网络结构的编码器,第二部分是网络结构的评测器。

下载安装命令

## CPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle

## GPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu

编码器通常以 RNN 的方式把网络结构进行编码,然后评测器把编码的结果拿去进行训练和评测,拿到包括准确率、模型大小在内的一些指标,反馈给编码器,编码器进行修改,再次编码,如此迭代。经过若干次迭代以后,最终得到一个设计好的模型。

为了性能考虑,迭代中用到的训练数据通常是几万张规模的数据集(比如 CIFAR-10),模型设计结束后,会用大规模数据(比如 ImageNet)重新训练一次,进一步优化参数。具体原理可以参考以下链接:解读百度AutoDL

本项目主要是使用搜索出来的模型结构在CIFAR-10数据上进行训练和验证主要的目录结构如下:

|--root
|--|--build				# 该目录下的文件用于根据不同的配置构建网络
|--|--|--layers.py			# 网络中各种层的实现
|--|--|--resnet_base.py			# 带残差的结构
|--|--|--ops.py				# 调用layers.py中实现的各种层组成op
|--|--|--vgg_base.py			# 不带残差的结构
|--|--tokens				# 通过二进制存储的各种模型的配置
|--|--dataset				# cifar数据集
|--|--model				# 训练完成后保存的可以用于infer的固化模型
|--|--test				# 用于存放需要测试的图像
|--|--reader.py				# 数据集读取部分
|--|--train_hinas_res.py		# 用于训练带残差结构的网络
|--|--train_hinas.py			# 用于训练不带残差结构的网络
|--|--nn_paddle.py			# 具体的训练逻辑以及模型保存写在这个文件中
|--|--infer.py				# 用于对test中的图片进行预测,需要修改文件中图片的路径

In[6]

# 从work中把代码解压出来
!tar xzf data/data9705/cifar-10-python.tar.gz -C dataset/cifar/
mv: cannot move '/home/aistudio/HiNAS_models/build' to '/home/aistudio/build': Directory not empty
mv: cannot move '/home/aistudio/HiNAS_models/tokens' to '/home/aistudio/tokens': Directory not empty
rm: cannot remove 'HiNAS_models': Is a directory

In[1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值