Windows +TensorFlow+Faster Rcnn 详细安装步骤(一)


2020年更新:感谢大家的关注,这两篇安装教程是我自己当初踩坑后记录下来方便查看的。如果你是做深度学习研究刚刚入门,建议去学习新的tensorflow2.0以及models,或者Pytorch。因为这个教程用到的tensorflow版本低,而且用的Faster RCNN代码功能也欠缺,比如计算PR之类的。但如果只是项目中需要使用一下,按照教程无脑按照也是可以的。


Windows下Python版本TensorFlow需要Python  3.5支持,因此建议使用Anaconda,避免和原本电脑Python版本冲突等问题。(另外,你完全可以按照这个流程来,但如果你想偷懒,Windows +TensorFlow+Faster Rcnn整个安装过程中需要的所有安装包和数据我都传到了云盘里,大概有4个G内容,最后有获取方式。)

1.安装Anaconda

下载地址:链接,选择支持Python3.5且与自己电脑位数一样的Windows版本,如果不清楚,可以参考这个网站上各版本说明,anaconda 3 默认的是python3.6,下载下来也可以,之后可以在虚拟环境里面更改python版本。

下载完成后双击exe安装,到下面这个界面时,第一个框打钩,把conda添加到环境变量,第二个不勾,如下图,这样就不会更改原本Python默认版本了。

安装完成后,在cmd中输入conda,出现以下界面,表示安装成功。

我下载的是这个版本,安装后发现Anaconda3这个版本默认是py3.6的,而我需要python3.5的,可以在新建虚拟环境时选择python版本。

2.新建tensorflow虚拟环境

在cmd中输入

conda create -n tensorflow python=3.5

这样就建立了一个叫做tensorflow的虚拟环境,且python版本为3.5,之后的所有工作都是在这个环境下完成的,激活虚拟环境,在cmd中使用命令

activate tensorflow,关闭虚拟环境,使用命令:deactivate 

3.选择TensorFlow版本

TensorFlow有CPU版本和GPU版本,GPU版本使用显卡,硬件要求较高,但计算效率高,如果要安装GPU版本(需要有NVIDIA显卡),一般是推荐使用性能好的服务器,但你可能需要知道自己电脑是否支持GPU,GPU显存是多少,如何查看自己的电脑是否支持GPU,在cmd命令中输入:

cd C:\Program Files\NVIDIA Corporation\NVSMI
nvidia-smi

就可以看到自己的显卡型号和显存大小,个人建议显存大于4GB的话可以考虑GPU版本的TensorFlow,不然老老实实用CPU版本的,就是训练时间长一些,不然到时候会报错OOM(out of memory)

若使用GPU版本的TensorFlow,还需要安装CUDA和cudnn,比CPU版本的TensorFlow安装复杂很多,本文以GPU版本TensorFlow为例。注意:如果使用CPU版本的TensorFlow,请跳过步骤4。

4.安装GPU版本依赖

主要是安装CUDA和cudnn,注意两者版本有对应依赖关系,本文选择使用的是CUDA 8.0和cudnn 6.0

安装CUDA

CUDA 8.0安装地址:链接

打开后需要先用邮箱注册,然后下载时会让选择你自己电脑系统的版本等内容,注意看清楚下载的是CUDA 8.0版本,因为注册之后再登录时会默认跳转到CUDA最新版本的下载页面。

下载后双击exe进行安装即可,安装完成后检验是否安装成功:在cmd中输入命令

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\demo_suite
bandwidthTest.exe

结果如下图,显示 Result = PASS表明安装成功!

安装cudnn 6.0

cudnn 6.0下载地址:链接

页面中选择下载的内容如下

下载后的内容解压,可以看到有下面这样三个文件夹,将文件夹中的文件分别复制到CUDA安装目录下对应的文件夹中,例如本机CUDA的安装目录为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,然后在目录下也能找到这三个文件夹名字,把cudnn里面的拷贝到相应目录下即可。每个文件夹下其实也就一个文件

这样,cuda和cudnn就安装好了。

5.安装TensorFlow

首先激活虚拟环境

activate tensorflow

GPU版本TensorFlow安装cmd命令:

pip install --ignore-installed --upgrade tensorflow-gpu

CPU版本TensorFlow安装cmd命令:

pip install --ignore-installed --upgrade tensorflow

安装完成后检查是否安装成功

python
import tensorflow as tf

此时如果报错:ImportError: Could not find 'cudart64_90.dll'...

解决办法:

如果你是安装的GPU版本的,首先考虑TensorFlow安装版本是否与CUDA匹配,CUDA8.0网上一般都是和TensorFlow1.3搭配的,使用命令conda list,查看版本,如下图,可以发现TensorFlow版本不合适,默认安装的版本过高

卸载tensorflow-gpu,安装1.3版本的,命令如下:

pip uninstall tensorflow-gpu

pip install –-upgrade https://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/gpu/tensorflow_gpu-1.3.0rc0-cp35-cp35m-win_amd64.whl

安装成功后,再来检验一下,可以查看tensorflow的安装版本和安装位置

import tensorflow as tf

tf.__version__

tf.__path__

如下图所示,tensorflow安装成功!

注:如果更改成1.3版本后还是报错,还是找不到cuda相关的dll,建议重新配置环境变量,计算机右键属性,在系统环境变量中,添加以下内容:

以下所有路径都基于CUDA默认安装位置,请以你自己实际安装的为准!

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64 
CUDA_BIN_PATH = %CUDA_PATH%\bin 
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64 
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

然后在系统变量 PATH 的末尾添加:(记得分号是英文的) 
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%; 
再添加如下路径: 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64; 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin; 
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\lib\x64; 
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64; 

保存后,再试试能不能正确加载tensorflow。

以上就是Windows下tensorflow框架安装详细流程。整个流程中可能用到的软件安装包和数据都传到了云盘,关注微信公众号:TechGIS,后台回复“tensorflow”即可获取,谢谢关注!

faster rcnn算法将在下一篇文章里介绍。

Windows 下 TensorFlow 和 Faster rcnn 详细安装步骤(二)

<think>嗯,用户想要寻找基于TensorFlow实现的Faster RCNN用于钢板缺陷检测的代码。首先,我需要回顾Faster RCNN的基本结构和TensorFlow的实现情况。记得TensorFlow个Object Detection API,里面可能包含Faster RCNN的预训练模型,用户可能需要用到这个。 然后,用户提到的是钢板缺陷检测,这属于工业检测领域,通常数据集可能比较专业,比如东北大学的数据集或者其他公开的钢铁表面缺陷数据集。用户可能需要数据预处理,比如标注为PASCAL VOC格式或者TFRecord格式,因为TensorFlow Object Detection API通常使用这些格式。 接下来,代码实现部分。可能需要指导用户安装TensorFlow和Object Detection API,配置环境,准备数据集,调整配置文件,然后进行训练和评估。还需要注意模型的选择,比如使用Faster RCNN结合不同的主干网络,比如MobileNet或者ResNet,用户提供的引用里提到的是MobileNetV3 Large FPN,这可能是个轻量化的选择,适合实际部署。 用户可能遇到的问题包括环境配置、数据集转换、模型调参等。需要提醒用户注意版本兼容性,比如TensorFlow 2.x和1.x的差异,以及对应的Object Detection API的安装方式。此外,数据增强和超参数调整对于模型性能也很重要,比如学习率、锚框尺寸等。 另外,用户可能需要评估指标,比如mAP,引用中的图5显示了训练后的mAP结果,这可能作为参考。最后,部署模型时可能需要导出为SavedModel或者TFLite格式,方便在实际应用中调用。 还需要考虑用户是否有足够的计算资源,如果没有,可能需要建议使用云端GPU或者简化模型结构。最后,生成相关问题时要覆盖数据集准备、模型调整、训练问题、性能优化和部署应用等方面,帮助用户全面了解项目流程。</think>针对基于TensorFlowFaster RCNN钢板缺陷检测实现,以下是分步骤解决方案: ### 环境配置 1. 安装TensorFlow 2.x版本(建议≥2.6) ```bash pip install tensorflow-gpu==2.6.0 ``` 2. 下载TensorFlow Object Detection API ```bash git clone https://github.com/tensorflow/models.git ``` 3. 安装依赖库: ```bash pip install pycocotools lvis matplotlib opencv-python ``` ### 二、数据集准备 1. 采用NEU-DET钢板缺陷数据集[^1],包含6类缺陷: - Rolled-in scale (RS) - Patches (Pa) - Crazing (Cr) - Pitted surface (PS) - Inclusion (In) - Scratches (Sc) 2. 数据标注转换(示例代码): ```python import xml.etree.ElementTree as ET def convert_to_tfrecord(annot_path, img_dir, output_path): # PASCAL VOC转TFRecord格式 writer = tf.io.TFRecordWriter(output_path) for xml_file in os.listdir(annot_path): tree = ET.parse(os.path.join(annot_path, xml_file)) # 解析XML并写入TFRecord... ``` ### 三、模型配置 1. 选择Faster RCNN with MobileNetV3-Large FPN 2. 修改配置文件(pipeline.config): ```text model { faster_rcnn { num_classes: 6 image_resizer { keep_aspect_ratio_resizer { min_dimension: 640 max_dimension: 640 } } feature_extractor { type: "faster_rcnn_mobilenet_v3_large_fpn_640" } # 调整锚框参数适应钢板缺陷尺寸 first_stage_anchor_generator { scales: [0.25, 0.5, 1.0] aspect_ratios: [0.5, 1.0, 2.0] } } } train_config { batch_size: 8 fine_tune_checkpoint: "pre-trained-model/" # 设置学习率衰减 optimizer { momentum_optimizer { learning_rate { cosine_decay_learning_rate { learning_rate_base: 0.004 total_steps: 50000 warmup_learning_rate: 0.0001 warmup_steps: 2000 } } } } } ``` ### 四、训练与评估 1. 启动训练: ```bash python models/research/object_detection/model_main_tf2.py \ --pipeline_config_path=gs://${MODEL_DIR}/pipeline.config \ --model_dir=gs://${MODEL_DIR} \ --alsologtostderr ``` 2. 验证指标监控: ```python from object_detection.utils import metrics metrics.MeanAveragePrecision( num_classes=6, weighted_values=True ) ``` ### 五、部署优化 1. 模型导出为TFLite格式: ```python converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir) converter.optimizations = [tf.lite.Optimize.DEFAULT] tflite_model = converter.convert() ``` 2. 工业部署建议: - 使用TensorRT加速推理 - 集成到PLC系统时采用gRPC通信 - 部署时使用多尺度推理提升小缺陷检测率
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辣鸡博主已停更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值