• 中秋节的广西甘蔗——智蔗见智·向新而生


    中秋节的时候我们理论上应该放假,但是放假、什么是放假?咱们程序员需要放假?不可能的。所以利用假期时间搞定广西万顷甘蔗地的图像分析还是会有很大的成就感的。


    目录

    训练资源地址

    obs环境准备

    运行-共计运行差不多50s

    baseline复现

    训练方式

    baseline演示

    训练集和验证集的划分

    ​编辑开始训练


    训练资源地址

    接下来我们使用华为云的平台来处理甘蔗地图片。

    可以在华为云中下载获取,这里得通过桶进行保存:AI Gallery_数据详情_开发者_华为云

    训练集数据压缩包解压后是一系列png格式图片,*_img.png表示遥感图像,与其同名且后缀为_mask.png的图像为对应的label图像。

    obs环境准备

    先登录到存储服务

    https://storage.huaweicloud.com/obs/?locale=zh-cn®ion=cn-north-4

    我这有现成的桶我就不再创建了。

    没有的需要自己创建一下。

    进入桶:

    进入:

    https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dashboard

    咱们需要使用CodeLab

    有72小时免费示例,初始化的时候需要等待一会。我9点52开始初始化的。

    大概1分多钟完成的。

    这里咱们选择C【Conda-python3】

    进入编码阶段了。示例的桶是我的链接。具体看需求使用啊,从哪里复制到哪里。这里先有个说明,咱们接下来看baseline复现。

    1. import moxing as mox
    2. # 拷贝obs数据到notebook环境中
    3. mox.file.copy('obs://mytestbosqwe8403000/data/train.zip', './train.zip')
    4. # 拷贝notebook环境中数据到obs
    5. mox.file.copy('./train.zip', 'obs://mytestbosqwe8403000/data/train.zip')
    6. !unzip train.zip &> /dev/null
    7. # copy_parallel用于copy文件夹
    8. mox.file.copy_parallel('./train', 'obs://mytestbosqwe8403000/data/train/')

    baseline复现

    通过在modelarts中notebook中编写代码获取(注意这里路径没有换行)

    obs地址为obs://ma-competitions-bj4/guangxi_remote_sense_segmentation/code/,可以通过在notebook中新建如下代码将baseline的代码copy到你的环境下。

    1. import moxing as mox
    2. mox.file.copy_parallel('obs://ma-competitions-bj4/guangxi_remote_sense_segmentation/code/', 'obs://mytestbosqwe8403000/data/baseline/')

    拿到baseline的代码后,可以看到四个文件夹,一共有两个baseline code及其对应的推理代码。对应解释如下

    也可以直接复制到代码区

    1. import moxing as mox
    2. mox.file.copy_parallel('obs://mytestbosqwe8403000/data/baseline/', './baseline')

    层级介绍 

    1. |-- inference-for-mmseg (推理代码)mmsegmentation 适配 ModelArts 中AI应用的演示代码
    2. |-- model
    3. | `-- README.md 演示代码说明文件
    4. | `-- otherfiles...
    5. |-- inference-for-pl (推理代码)pytorch-lightning-unet 适配 ModelArts 中AI应用的演示代码
    6. |-- model
    7. | `-- README.md 演示代码说明文件
    8. | `-- otherfiles...
    9. |-- mmsegmentation mmsegmentation适配于比赛数据的修改版本
    10. | `-- README.md 安装说明和convnext-upernet相关训练指令说明
    11. | `-- otherfiles...
    12. |-- pytorch-lightning-unet 基于pytorch-lightning的unet实现
    13. | `-- README.md 安装说明和unet相关训练指令说明
    14. `-- otherfiles...

    其中【/baseline/pytorch-lightning-unet/README.md】是说明文档

    训练方式

    https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dev-container/create

    直接如下图选择并创建,有券免费。

    创建需要等一会,完成之后点击【打开】 

    主要使用文件类型 

    复制baseline

    1. import moxing as mox
    2. mox.file.copy_parallel('obs://ma-competitions-bj4/guangxi_remote_sense_segmentation/code/', './baseline')

    复制train

    mox.file.copy_parallel('obs://mytestbosqwe8403000/data/train.zip', './train.zip')

    环境升级

    添加一个Terminal

    升级命令

    pip install torchvision==0.12.0 --upgrade

    解压zip压缩包

    unzip train.zip

    批量操作

    1. pip install opencv-python
    2. pip install matplotlib
    3. pip install pytorch-lightning==1.6.5
    4. pip install torchmetrics

    baseline演示

    当前的文档中3个内容1是baseline代码,2是操作文件,3是训练图片

    训练集和验证集的划分

    在72和73行是训练集和测试集 

    要求的路径是./dataset下,是train.py的相对路径,所以需要单独创建一个dataset文件夹,然后在往里面放置两个文件夹train与split_imgs分别是训练集和测试集,他的代码中有这个文件处理,我们直接都放一个文件夹就行。

    再在/home/ma-user/work/baseline/pytorch-lightning-unet/dataset文件夹下创建train与split_imgs的文件夹,这里复制过来train的文件夹改个名字就行。

    1. cp -r ./train ./baseline/pytorch-lightning-unet/dataset/train
    2. cp -r ./train ./baseline/pytorch-lightning-unet/dataset/split_imgs

    可以看到已经粘贴过去了。

    航拍照片与标记照片都在一个文件夹里面,但是他的代码里面有区分,我们就不用管了。


    开始训练

    由于刚才一直在【/home/ma-user/work/】下干活了,咱们需要进入到train.py的文件夹执行

    1. cd ./baseline/pytorch-lightning-unet/
    2. python train.py

    由于max是50,预计时间70小时左右。

  • 相关阅读:
    安装 hbase(伪分布式)
    【真题T1】[NOIP2021] 报数
    Hive调优总结(三)-语法和运行参数层面
    多款可观测产品全面升级丨阿里云云原生 5 月产品月报
    TensorFlow的transformer类模型文件转换为pytorch
    图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理
    Google Earth Engine(GEE)——计算不同美国州的气温折线图和散点图
    简单实用的模糊照片修复方法,小白也能轻松上手
    【10】c++设计模式——>依赖倒转原则
    PLSQL远程连接数据库
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/126498147