A-A+

在Tensorflow 2.0中在ImageNet上训练ResNet

2020年05月19日 23:24 汪洋大海 暂无评论 阅读 18 views 次

在Tensorflow 2.0中在ImageNet上训练ResNet

准确性

网络 中心农作物@ top-1 10片@ Top-1
ResNet-18 69.15% 71.60%
ResNet-50 75.96% 77.72%

满足深度残差学习中图像识别的要求

提供了砝码。

Link: https://pan.baidu.com/s/1nwvkt3Ei5Hp5Pis35cBSmA

Code: y4wo

要求

Python版本:3.5.1

包装方式:

  • Tensorflow 2.0.0
  • 麻木
  • OpenCV的Python
  • tqdm

数据集

可以从http://www.image-net.org/下载ImageNet数据。

或者您可以与我联系以获取百度网盘的下载链接。

如果您想训练自己的数据,请修改data /和config.py中的所有文件。

用法

准备

所有训练设置都位于config.py中。您可以更改log_filesave_weight_file设置保存路径。

要使用默认配置,您应该在培训之前创建目录。

mkdir result
mkdir result/log
mkdir result/weight

对于config.py中的其他参数,除非您知道自己在做什么,否则不建议更改它们。

模型

Tensorflow 2.0中实现了各种版本的ResNet,分别是18、34、50、101和152。

来自 模型ResNet  导入 ResNet 
模型 =  ResNet50

或者您可以在keras应用程序中导入模型

来自 tensorflow喀拉斯邦应用resnet50  导入 ResNet50 
模型 =  ResNet50权重= 

在中设置模型train.py,默认为ResNet-50 v2。

训练

python3 train.py

我的实验环境是

  • i7-6850K @ 3.6GHz
  • TITAN Xp,12GB

对于ResNet-50,平均训练速度为每秒2次迭代。因此,大约需要3天才能完成培训,共50个纪元。

如果为Allocator (GPU_0_bfc) ran out of memory trying to allocate...,请减小批次大小。

测试

load_weight_file在config.py中设置。

在测试代​​码中,将图像调整大小,以使短边为256。然后裁剪224 * 224区域作为输入。

python3 test.py 是中心农作物测试。

python3 test_10_crop.py是“ 深度残差学习中的图像识别”中提到的标准10幅测试。

python3 test_single_image.py是单张图片测试。在运行之前设置图像路径和模型路径。最终输出是类别名称和置信度。

例如,输入图像是

在Tensorflow 2.0中在ImageNet上训练ResNet

输出是


----------------------------------------
image: ILSVRC2012_val_00000321.JPEG
classification result:computer_keyboard
confidence:0.7444
----------------------------------------

文章来源:https://github.com/Apm5/ImageNet_ResNet_Tensorflow2.0

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×
标签:

给我留言