今天介绍的是一个TensorFlow库,星标5w+的模型库,包含了使用TensorFlow 构建的模型和示例的教程。很好的学习参考资料。旨在更好的维护,测试,并与最新的TensorFlow API保持同步最新。
传送门
https://github.com/tensorflow/models,主要内容有利用TensorFlow构建的模型和示例的教程,最新更新是几小时之前。
TensorFlow实现模型
地址:https://github.com/tensorflow/models/blob/master/research
实现模型主要在research中,包含研究人员实施的机器学习模型,每个模型有使用的教程,以及对应的论文链接,一站式服务。
如其中的一个模型:
deep convolutional networks for computer vision(用于计算机视觉的深度卷积网络)
包含了几个内容:
1、在TensorFlow中
ImageNet是用于训练图像识别系统的机器学习中的常见学术数据集。此目录中的代码演示了如何使用TensorFlow训练和评估此学术数据集上的一种卷积神经网络(CNN)。特别是,我们演示了如何训练Inception v3体系结构,如下所述:
重新思考计算机视觉的初始架构
Christian Szegedy,Vincent Vanhoucke,Sergey Ioffe,Jonathon Shlens,Zbigniew Wojna
http://arxiv.org/abs/1512.00567
对于单帧评估,该网络实现了21.2%的前1和5.6%的前5误差,每个推理的计算成本为50亿乘法,并且使用的参数少于2500万。以下是模型架构的可视化。
2、代码说明
有详细的代码使用说明,代码库提供了三个核心二进制文件:
- 使用ImageNet 2012 Challenge培训数据集在多个GPU和/或多台计算机上从头开始培训初始v3网络。
- 使用ImageNet 2012 Challenge验证数据集评估Inception v3网络。
- 在新任务上重新训练初始v3网络并反向传播错误以微调网络权重。
训练过程采用跨多个GPU的同步随机梯度下降。用户可以指定他们希望利用的GPU的数量。同步训练通过将给定批次划分为多个GPU来执行批量分割。
训练设置几乎与使用多GPU卡训练模型一节相同 ,我们已将CIFAR-10模型架构替换为Inception v3。与该设置的主要区别是:
- 在培训期间计算并更新批次规范统计数据,以便在评估期间替换它们。
- 使用称为TensorFlow-Slim的(仍然是实验性的)更高级语言指定模型体系结构。
有关TensorFlow-Slim的更多详细信息,请参阅Slim README。请注意,此更高级别的语言仍处于 试验阶段,API可能会随着时间的推移而变化,具体取决于使用情况和后续研究。
3、入门
4、如何从零开始训练
有详细的步骤教你如何从零开始训练:
在继续之前,请阅读卷积神经网络教程; 特别是,专注于使用多GPU卡训练模型。模型训练方法几乎与CIFAR-10多GPU模型训练中描述的相同。简而言之,模型训练
在每个GPU上放置单独的模型副本。
在GPU中拆分批处理。
通过等待所有GPU完成处理一批数据来同步更新模型参数。
训练过程由该图表封装,该图表分别表示操作和变量如何放在CPU和GPU上。
5、如何在分布式环境中从零开始训练
6、如何评估
7、如何在新任务上微调预训练模型
- 入门
- 如何在花卉数据上重新训练训练模型
8、如何构建一个新的再培训数据集
9、培养模型的实践考虑
10、寻找好的超参数
11、调整内存需求
12、故障排除
以上包含了从零开始训练到模型实现以及模型的扩展的所有过程,超详细的步骤,一站式的服务,赶快去学习吧!
收集不易,欢迎点赞转发支持!