前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个TensorFlow的新模型,Kaparthy小哥用了都说好

一个TensorFlow的新模型,Kaparthy小哥用了都说好

作者头像
AI科技大本营
发布2018-04-26 17:14:55
1.5K0
发布2018-04-26 17:14:55
举报
文章被收录于专栏:AI科技大本营的专栏

昨天午饭时分,营长注意到Kaparthy小哥(特斯拉AI主管、马斯克红人、李飞飞高徒)的Twitter活跃了起来:

大意是说,Google一周前给TensorFlow增加的新模型NASNet让人很是兴奋。

NASNet的GitHub地址 https://github.com/tensorflow/models/tree/master/research/slim/nets/nasnet

这个代码分析起来比较难,但实现出来的模型是相当好用的,它在速度和准确度之间的取舍之道令人印象深刻。

看到此处,营长顿感此模型定是高手所为。

果不其然,在TensorFlow的GitHub页面,Google是这么说的:

该目录所包含的是NASNet模型的代码,这个模型出自Zoph等人的论文:Learning Transferable Architectures for Scalable Image Recognition(通过学习可迁移结构实现具有可扩展性的图像识别任务)。 该目录的nasnet.py文件,包含有三种不同配置的NASNet模型实现。其中NASNet-A是基于CIFAR-10数据集的模型,而另外两个模型则是NASNet-A基于ImageNet数据集的变体。

看来要查查"Learning Transferable Architectures for Scalable Image Recognition"这篇论文,一查才知道论文作者是Google Brain的四位大牛Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le。其中Quoc V. Le还是吴恩达的得意门生。

该论文于7月21日提交的初版,10月25日刚刚更新第二版,目测是为该TensorFlow模型的上线做准备。

该模型的使用介绍详述如下:

预训练模型

在ILSVRC-2012-CLS图像分类数据库上训练出来的两个NASNet-A模型,其节点参数是可用的,模型的分类精度是通过评估单幅图像计算出来的,数值如下表:

关于如何下载NASNet-A_Mobile_224模型节点参数,命令行代码如下所示,NASNet-A_Large_331模型的下载方式与之类似。

CHECKPOINT_DIR=/tmp/checkpoints mkdir ${CHECKPOINT_DIR} cd ${CHECKPOINT_DIR} wget https://storage.googleapis.com/download.tensorflow.org/models/nasnet-a_mobile_04_10_2017.tar.gz tar -xvf nasnet-a_mobile_04_10_2017.tar.gz rm nasnet-a_mobile_04_10_2017.tar.gz

在TF-Slim图像分类库中得到更多关于如何将NASNet模型与自己项目相结合的信息:

https://github.com/tensorflow/models/blob/master/research/slim/README.md

要在设备上运行这些模型,需要在移动端上安装Tensorflow

https://www.tensorflow.org/mobile/

使用该模型进行推断的代码样例

测试NASNet模型—一个移动端的ImageNet模型

DATASET_DIR=/tmp/imagenet EVAL_DIR=/tmp/tfmodel/eval CHECKPOINT_DIR=/tmp/checkpoints/model.ckpt python tensorflow_models/research/slim/eval_image_classifier \ --checkpoint_path=${CHECKPOINT_DIR} \ --eval_dir=${EVAL_DIR} \ --dataset_dir=${DATASET_DIR} \ --dataset_name=imagenet \ --dataset_split_name=validation \ --model_name=nasnet_mobile \ --eval_image_size=224 \ --moving_average_decay=0.9999

测试NASNet模型—一个大型的ImageNet模型

DATASET_DIR=/tmp/imagenet EVAL_DIR=/tmp/tfmodel/eval CHECKPOINT_DIR=/tmp/checkpoints/model.ckpt python tensorflow_models/research/slim/eval_image_classifier \ --checkpoint_path=${CHECKPOINT_DIR} \ --eval_dir=${EVAL_DIR} \ --dataset_dir=${DATASET_DIR} \ --dataset_name=imagenet \ --dataset_split_name=validation \ --model_name=nasnet_large \ --eval_image_size=331 \ --moving_average_decay=0.9999

很快,就有人觉得TensorFlow的官方部署方法太笨了,Teahoon Lee立刻贴上了自己前一天刚刚优化出来的方法:

https://github.com/taehoonlee/tensornets/blob/master/tensornets/nasnets.p y

Kaparthy小哥立刻表示,”干得漂亮!“

不过,TensorFlow有了新模型,PyTorch自然也不甘落后,几小时后,Remi Cadene就给出了该模型的Pytorch实现:

https://github.com/Cadene/pretrained-models.pytorch/blob/master/pretrainedmodels/nasnet.py

对于TensorFlow的原始代码,这两位小哥均表示太难读了,他们都是使用tensorboard工具才写好的新代码。

而计算机视觉全栈工程师、TenDozen创始人Jared则就此专门 @ Kaparthy小哥:我发现,绝大部分出自于论文的新模型,需要相当多的调教才能适用于工业级生产环境。但聊胜于无,至少我们现在是有了一个全新的模型。

从论文概念到实际部署,耗时不到4个月的NASNet,用时应当算是很短了。但是,鉴于Kaparthy小哥都说这代码很难,想必该模型距离部署到Tesla的自动驾驶平台,还是有一段路要走的。

另外,成功引起Kaparthy注意的那两位小哥,你们要不要来Tesla参观一圈?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档