在Tensorflow 2.0中在ImageNet上训练ResNet
在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_file
和save_weight_file
设置保存路径。
要使用默认配置,您应该在培训之前创建目录。
mkdir result
mkdir result/log
mkdir result/weight
对于config.py中的其他参数,除非您知道自己在做什么,否则不建议更改它们。
模型
Tensorflow 2.0中实现了各种版本的ResNet,分别是18、34、50、101和152。
来自 模型。ResNet 导入 ResNet
模型 = ResNet(50)
或者您可以在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
是单张图片测试。在运行之前设置图像路径和模型路径。最终输出是类别名称和置信度。
例如,输入图像是
输出是
----------------------------------------
image: ILSVRC2012_val_00000321.JPEG
classification result:computer_keyboard
confidence:0.7444
----------------------------------------
文章来源:https://github.com/Apm5/ImageNet_ResNet_Tensorflow2.0
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏