热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

windows下fasterrcnn入门1:配置网络

基本配置流程这里不讲环境配置,调试源码(坑比较多)因为tensorflow版的源码是python3.5,所以我用anac

基本配置流程

这里不讲环境配置,调试源码(坑比较多)

因为tensorflow版的源码是python3.5,所以我用anaconda又配了个python3.5的tensorflow。主要参考博客,博主写的很nice,然而该踩得坑,还是有。
流程:
1、首先给出源代码网址:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5及安装必须包
在这里插入图片描述
2、Go to ./data/coco/PythonAPI(进入文件位置,一定)

Run python setup.py build_ext --inplaceRun python setup.py build_ext install

3、Go to ./lib/utils and run python setup.py build_ext --inplace

4、下载地址:下载voc2007数据集,文件格式data\VOCDevkit2007\VOC2007
解压后需要把VOCDevkit改为VOCDevkit2007(没有注意,这也是一个坑)

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar

到这里环境配置完毕(事实告诉我要仔细看readme)

下面讲一下踩得坑
  • 坑一
    在这里插入图片描述
    这个问题真的是我想多了,我直接把python.exe 和setup.py给拉过去,我以为作用一样,要 Go to到setup.py文件路径,否则作者干嘛要提醒
    在这里插入图片描述

  • 坑二:unable to find vcvarsall.bat

    原因:是没有安装vs2015/2017(cuda10以上,要求这些版本),我安了vs2017,可是奈何好像当初路径有点问题找不到,我又安了个vs2015,只选这两项即可
    在这里插入图片描述

  • 坑三:解决了二,又来了LINK : fatal error LNK1158: cannot run ‘rc.exe’
    (无法运行rc.exe),参照博客
    在这里插入图片描述

  • 坑四:都是看博客,论仔细看readme的重要性
    在这里插入图片描述

  • 坑五:AssertionError: Path does not exist:
    D:\Workspaces\python\Faster-RCNN-TensorFlow-Python3.5-master\data\VOCdevkit2007\VOC2007\ImageSets\Main\trainval.txt
    原因:是网络模型地址和数据集地址有问题,检查后,发现要把VOCDevkit改为VOCDevkit2007

  • 坑六:找不到vgg16.cpkt,可是我明明放在要求目录下,后来发现从作者网站下来的是vgg_16.cpkt

    终于train能跑了,然而demo却有问题:

  • 坑七:OSError: output\res101\voc_2007_trainval+voc_2012_trainval\default\res101_faster_rcnn_iter_110000.ckpt.meta
    not found.Did you download the proper networks from our server and place them properly?
    解决办法:参照博客
    具体修改:
    (1)把Demo.py中39行的NETS中的vgg16_faster_rcnn_iter_70000.ckpt改成vgg16_faster_rcnn_iter_40000.ckpt(train中训练最多40000);再把demo.py 122行中Parse_args()函数的default res101改成vgg16
    (2)新建一个名为output的文件夹,具体的文件名就按它报错的位置跟着新建就行如下图。
    在这里插入图片描述


推荐阅读
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 本文提供了PyTorch框架中常用的预训练模型的下载链接及详细使用指南,涵盖ResNet、Inception、DenseNet、AlexNet、VGGNet等六大分类模型。每种模型的预训练参数均经过精心调优,适用于多种计算机视觉任务。文章不仅介绍了模型的下载方式,还详细说明了如何在实际项目中高效地加载和使用这些模型,为开发者提供全面的技术支持。 ... [详细]
  • C语言编写线程池的简单实现方法
    2019独角兽企业重金招聘Python工程师标准好文章,一起分享——有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带 ... [详细]
  • This feature automatically validates new regions using the AWS SDK, ensuring compatibility and accuracy. ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
  • 在Windows命令行中,通过Conda工具可以高效地管理和操作虚拟环境。具体步骤包括:1. 列出现有虚拟环境:`conda env list`;2. 创建新虚拟环境:`conda create --name 环境名`;3. 删除虚拟环境:`conda env remove --name 环境名`。这些命令不仅简化了环境管理流程,还提高了开发效率。此外,Conda还支持环境文件导出和导入,方便在不同机器间迁移配置。 ... [详细]
  • 本文详细介绍了在Windows操作系统上使用Python 3.8.5编译支持CUDA 11和cuDNN 8.0.2的TensorFlow 2.3的步骤。文章不仅提供了详细的编译指南,还分享了编译后的文件下载链接,方便用户快速获取所需资源。此外,文中还涵盖了常见的编译问题及其解决方案,确保用户能够顺利进行编译和安装。 ... [详细]
  • 谷歌工程师:TensorFlow已重获新生;网友:我还是用PyTorch
    乾明发自凹非寺量子位报道|公众号QbitAI道友留步!TensorFlow已重获新生。在“PyTorch真香”的潮流中,有人站出来为TensorFlow说话了。这次来自谷歌的工程师 ... [详细]
  • 基于TensorFlow的鸢尾花数据集神经网络模型深度解析
    基于TensorFlow的鸢尾花数据集神经网络模型深度解析 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 在命令行环境中,通过输入 `python` 命令进入 Python 交互模式后,用户可能会遇到如何正确退出的问题。本文详细介绍了多种退出 Python 交互模式的方法,包括使用 `exit()` 函数、 `quit()` 函数以及直接输入 `Ctrl+D` 等方式,帮助用户在不同场景下灵活选择合适的退出方法。 ... [详细]
author-avatar
QK丫头419QJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有