Mask_RCNN入门(三)—— 使用gpu进行训练和测试

cpu换成gpu

之前的工作:
Mask_RCNN入门(一)—— 跑通代码
Mask_RCNN入门(二)—— 训练自己的数据集
其实是在CPU上跑的,这一点可以在requirements.txt中可以看到:
在这里插入图片描述
tensorflow就是CPU版,GPU版本是tensorflow-gpu。
所以第一步是卸载tensorflow,安装tensorflow-gpu,为了避免兼容性冲突,tensorflow-gpu同样使用1.6.0版本。
卸载tensorflow:

python -m pip uninstall tensorflow

安装tensorflow-gpu:

python -m pip install tensorflow-gpu==1.6.0

driver,CUDA,cuDNN和tensorflow-gpu

安装完tensorflow-gpu之后,如果直接运行demo.py或者train.py会报错:ImportError: Could not find 'cudart64_90.dll’
在这里插入图片描述
其实信息明确了,到指定网址下载安装CUDA 9.0。
这里开一下上帝视角:CUDA,包括后面同样会报错需要下载的cuDNN,它们是什么,还有和CUDA版本紧密相关的显卡驱动又是什么?

### 零基础 Mask R-CNN 学习教程入门指南 #### 一、基础知识准备 对于初学者来说,了解深度学习的基础概念是非常重要的。Mask R-CNN 是基于 Faster R-CNN 发展而来的实例分割算法,因此建议先熟悉卷积神经网络 (CNN) 目标检测的基本理论[^1]。 推荐的学习路径如下: - **计算机视觉基础**:掌握图像处理基本操作,如滤波、边缘检测等。 - **深度学习基础**:理解 CNN 的工作原理及其在分类任务中的应用。 - **目标检测方法**:研究两阶段法(Faster R-CNN单阶段法(YOLO, SSD),并对比它们的特点与适用场景。 #### 二、环境搭建与依赖安装 为了顺利开展实验,需配置好开发环境。以下是常见的软件栈及版本需求[^2]: - Python >= 3.6 - PyTorch 或 TensorFlow 框架 - CUDA Toolkit (如果使用 NVIDIA GPU 加速) - cuDNN 库支持 具体步骤可参照官方文档完成虚拟环境隔离以及必要包管理器 pip / conda 下载指定模块列表。 #### 、实践环节——动手实现一个简单例子 通过实际编码加深对理论的理解至关重要。可以从开源项目入手尝试复现经典论文成果: ##### 数据集准备 选取公开可用的小规模数据集作为起点,例如 COCO mini 版本或 Pascal VOC 。按照标准格式整理成适合输入模型的形式,并划分训练验证集合比例合理分布样本类别平衡度良好[^5]。 ##### 修改配置文件 编辑 `config.py` 中各项超参设定值满足当前硬件条件限制的同时兼顾收敛速度与最终表现指标要求;调整 anchor sizes ratios 等几何属性适配目标尺寸范围特性。 ##### 编写训练脚本 利用提供的模板文件 `maskrcnn_train.py`, 添加自定义逻辑控制流程顺序安排恰当批次大小 epoch 数目等等细节参数调节直至达到预期效果为止。 ```python import os from mrcnn.config import Config from mrcnn.model import MaskRCNN class CustomConfig(Config): NAME = "custom" IMAGES_PER_GPU = 2 NUM_CLASSES = 81 if __name__ == '__main__': ROOT_DIR = './' MODEL_DIR = os.path.join(ROOT_DIR , 'logs') config = CustomConfig() model = MaskRCNN(mode="training", config=config, model_dir=MODEL_DIR) # Load weights trained on MS COCO but skip layers specific to that task. model.load_weights('path_to_coco_pretrained_model', by_name=True, exclude=["mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_mask"]) ``` #### 四、性能调优技巧 当初步具备一定实践经验后,可以探索进一步提升效率的方法论。采用知识蒸馏技术降低复杂度不失为一种有效策略之一。此外还有其他维度上的考量因素值得深入探讨,比如量化感知训练减少存储消耗提高推理速率等方面均存在广阔的研究空间等待挖掘发现新的可能性边界所在之处不断突破自我极限追求极致完美境界永无止境! ---
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值