四、PaddleRS
目录
- 1.环境配置
- 1.1 Linux 服务器
- 下载安装PaddleRS:
- 补充包安装
- gdal
- rasterio
- 1.2 win10
- 补充包安装
- 2.常见报错
- 1.Segmentation fault` is detected by the operating system.
- 2.ERROR 1: PROJ: proj_create_from_database
- 3 Cannot load cudnn shared library.(cudnn问题)
- 4 Could not locate zlibwapi.dll. Please make sure it is in your library path!
- ——————————old————————————
- Linux服务器 配置:
- Windows 配置:
- 方法3 待测试
- ——————————old————————————
- 2.变化检测
- GeoView 静态模型 直接推理
- 训练 →动态模型转静态模型 →整图推理
- 1.官方自带Bit (airchange数据集 )
- 2.官方自带Bit (LEVIR数据集 ) 待测试
- 3.rs_research-custom_model(LEVIR数据集 )
- vdl可视化
- 变化检测项目
- 官方
- AI Studio
- AI Earth 与 Learth
1.环境配置
快速上手PaddleRS
1.1 Linux 服务器
# 创建环境
conda create -n pdrs python=3.8# 安装paddlepaddle-gpu
conda activate pdrs
# pip install paddlepaddle-gpu==2.3.2.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html # 10.1版本报错。
pip install paddlepaddle-gpu==2.3.2.post111 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html# 验证
python
>>> import paddle
>>> paddle.utils.run_check()python -c "import paddle; paddle.utils.run_check()
下载安装PaddleRS:
下载到本地后,复制到 服务器的 指定文件夹。解压 unzip mydata.zip -d myfloder
# cd到paddlers目录:
pip install -r requirements.txt
# pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# pip install . # 将当前目录下的Python包安装到系统中。(envs/环境名/lib/python3.8/site-packages 里面?) 执行setup.py 。
补充包安装
gdal ,rasterio
gdal
gdal-wheels-for-linux
http://download.osgeo.org/gdal/
安装 .whl 文件
cd到whl所在目录
pip install ***.whl
导入要使用 from osgeo import gdal
rasterio
要先安装gdal在安装rasterio
pip install rasterio
不建议conda安装。
conda install gdal
conda install rasterio
1.2 win10
先参考文档安装paddlepaddle-gpu。(可能需要先安装cuda、cudnn)
# cd到paddlers目录:
pip install -r requirements.txt
# pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
有2个包未安装成功:
可以在requirements.txt
中注销掉这两个再安装。
补充包安装
gdal ,rasterio
Python Windows扩展包.whl下载
安装 .whl 文件
cd到whl所在目录
pip install ***.whl
导入要使用 from osgeo import gdal
要先安装gdal在安装rasterio
2.常见报错
1.Segmentation fault` is detected by the operating system.
W0407 09:28:58.870352 29077 gpu_resources.cc:61] Please NOTE: device: 1, GPU Compute Capability: 7.5, Driver API Version: 11.6, Runtime API Version: 11.1
W0407 09:28:58.874192 29077 gpu_resources.cc:91] device: 1, cuDNN Version: 8.1.W0407 09:20:36.034915 114661 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 11.6, Runtime API Version: 10.1
W0407 09:20:36.095801 114661 gpu_resources.cc:91] device: 0, cuDNN Version: 8.1.--------------------------------------
C++ Traceback (most recent call last):
--------------------------------------
No stack trace in paddle, may be caused by external reasons.----------------------
Error Message Summary:
----------------------
FatalError: `Segmentation fault` is detected by the operating system.[TimeInfo: *** Aborted at 1680830439 (unix time) try "date -d @1680830439" if you are using GNU date ***][SignalInfo: *** SIGSEGV (@0x0) received by PID 114661 (TID 0x7f4054532700) from PID 0 ***]进程已结束,退出代码139
解决方案:
网上说法是降低cuDNN版本。https://blog.csdn.net/sinat_24899403/article/details/119574039
也可以重装paddlepaddle。(测试10.1报错,11.1可行。)
2.ERROR 1: PROJ: proj_create_from_database
ERROR 1: PROJ: proj_create_from_database: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_create_from_database: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: createGeodeticReferenceFrame: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_as_wkt: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_create_from_wkt: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_create_from_wkt: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_as_wkt: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_create_from_wkt: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
ERROR 1: PROJ: proj_as_wkt: Open of /home/yanqiuyu/anaconda3/envs/pdrs2/share/proj failed
可能是conda安装gdal的原因。
重新pip安装.whl的gdal即可。
3 Cannot load cudnn shared library.(cudnn问题)
locate libcudnn.so # 定位libcudnn.so所在路径
# 如: /usr/local/cuda-10.2/targets/x86_64-linux/lib# 临时解决:每次在程序运行前设置环境变量
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/targets/x86_64-linux/lib:$LD_LIBRARY_PATH# 永久解决:将环境变量添加到~/.bashrc文件
echo "export LD_LIBRARY_PATH=/usr/local/cuda-11.2/targets/x86_64-linux/lib">>~/.bashrc
4 Could not locate zlibwapi.dll. Please make sure it is in your library path!
去nvidia官网下载 zlibwapi.dll即可。然后分别将.dll .lin复制到cuda文件夹中的bin,lib
——————————old————————————
要注意命名的问题
conda安装 paddlers
和 下载 PaddleRS
存在文件名冲突。(PaddleRS中有一个 paddlers文件)
pycharm debug 时候 import paddlers 报错
run 可以正常运行。
猜测: import paddlers 导入的是环境中的 包。 why?
可以将 PaddleRS文件夹下 paddlers 文件 改名?
Linux服务器 配置:
1.创建环境
conda create -n pdrs python=3.8
(为什么服务器安装python这么快? 不需要下载?)
2.安装 paddlepaddle-gpu ;要注意版本对应
python -m pip install paddlepaddle-gpu==2.3.2.post111 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
https://www.paddlepaddle.org.cn/install/quick
3.安装 paddleRS
git clone https://github.com/PaddlePaddle/PaddleRS
cd PaddleRS
git checkout develop
pip install -r requirements.txt
python setup.py install
4.补充包
gdal
conda install gdal
5.报错
version
GLIBCXX_3.4.22‘ not found`
降低scipy版本 正确解决libstdc++.so.6: version GLIBCXX_3.4.22
5.安装失败的 (暂时没影响)
geopandas 0.10.2 requires pandas>=0.25.0, which is not installed.
geopandas 0.10.2 requires shapely>=1.6, which is not installed.
Windows 配置:
1.创建环境
conda create -n pdrs python=3.8
2.安装 paddlepaddle-gpu
python -m pip install paddlepaddle-gpu==2.3.2.post111 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
https://www.paddlepaddle.org.cn/install/quick
3.安装 paddleRS
git clone https://github.com/PaddlePaddle/PaddleRS
cd PaddleRS
git checkout develop
pip install -r requirements.txt
python setup.py install
可能会遇到 pycocotools 安装失败的问题?
好像是 pycocotools官方没有支持windows?
方法1:
conda install -c conda-forge pycocotools
太慢了
conda install pycocotools -c Esri
待测试
.whl方法 待测试
方法2: 成功√
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
可能需要运行
pip3 install --upgrade setuptools
可能需要补充一些包
pip install cython
可能需要安装 Microsoft C++ Build Tools
百度云: https://pan.baidu.com/s/1BDaJSoaPZKlNe69mCJ44sQ?pwd=cfsp 提取码: cfsp
可能需要重新进行 步骤3
4.补充包
gdal
conda install gdal
运行代码 还是报错,可能是只支持 linux?
方法3 待测试
直接下载PadddleRS文件
然后安装 paddlepaddle-gpu
pip requirement.txt 中的包
——————————old————————————
2.变化检测
GeoView 静态模型 直接推理
https://github.com/PaddleCV-SIG/GeoView/blob/develop/docs/dev.md
模型推理代码:https://aistudio.baidu.com/aistudio/projectdetail/4184759
2.1整图推理
预测GF:大运河 效果很差(全是0)
预测LEVIR(train) 效果很差
原因:整图预测 输入大小要与 模型的输入大小一致,如256*256。 无法预测任意大小图像。
训练 →动态模型转静态模型 →整图推理
1.官方自带Bit (airchange数据集 )
(1)训练https://github.com/PaddlePaddle/PaddleRS/blob/b75e0d19d5e7812e31a3343e786464c9b281a7cc/tutorials/train/change_detection/bit.py
代码包括 自动下载数据集及处理,自动训练
(2)转静态模型
\deploy\export\export_model.py
(3)整图推理
epoch10: iou 0.226
epoch2000: iou 0.272 效果很差
原因:整图预测 输入大小要与 模型的输入大小一致,如256*256。 无法预任意大小图像。
2.官方自带Bit (LEVIR数据集 ) 待测试
已经下载好LEVIR
需要用到 分割LEVIR工具:
\tools\prepare_dataset\prepare_levircd.py
3.rs_research-custom_model(LEVIR数据集 )
需要用到 分割LEVIR工具:
\tools\prepare_dataset\prepare_levircd.py
训练 F1=0.904
滑窗推理
预测训练集测试集很好。
预测大运河效果一般。
vdl可视化
https://github.com/PaddlePaddle/PaddleRS/blob/release/1.0/tutorials/train/README.md
visualdl --logdir output/deeplabv3p/vdl_log --port 8001
服务启动后,使用浏览器打开 https://0.0.0.0:8001 或 https://localhost:8001 即可进入可视化页面。
Linux服务器运行,打开浏览器显示 无法访问此网站;
尝试将 vdl_log文件夹从服务器复制到本地(windows)。
然后本地下载 visualdl 后重新访问。
pip install visualdl==2.4.1
(在paddle_3.6环境安装)
变化检测项目
PaddleRS实践案例
官方
PaddleRS科研实战:设计深度学习变化检测模型
LEVIR-CD
mkdir data
python tools/prepare_dataset/prepare_levircd.py --in_dataset_dir 00sddo/LEVIR --out_dataset_dir data/levircd --crop_size 256 --crop_stride 256
AI Studio
1115会议
AI Earth 与 Learth
htht复赛: 天枢效果还可以;阿里
HLJ: 天枢不行;阿里只能识别一点点
DYH: 天枢无法导入影像; 阿里还不错
四、PaddleRS相关推荐
- 【十一届软件杯】遥感解译赛道:变化检测任务——预赛第四名方案分享
十一届软件杯遥感解译赛道--预赛第四名方案分享 本Notebook为基于软件杯官方Baseline更改的项目,结合个人理解,进行了一些优化和更改,分数会比Baseline要高一点,并且将可以继续优化的 ...
- c/c++的内存四区
内存四区的图示 内存四区的代码案例 #include <stdio.h> void fun() {static int k = 10; //初始化的静态局部变量(data区的rw段)sta ...
- TCP三次握手和四次挥手的解释
基础知识 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 它们的含义是: SYN ...
- C++核心编程(四)--文件操作
5 文件操作 程序运行时产生的数据都属于临时数据,程序一点运行结束,就会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件:fstream 文件类型分为两种: 文本文件:文件以文本的A ...
- 受用一生的高效 PyCharm 使用技巧(四)
https://blog.csdn.net/pdcfighting/article/details/93269028 大家好,距离最近一篇 PyCharm 使用技巧的文章已经过去一月有余,最近虽然也比 ...
- Python学习(四)cPickle的用法
python中有两个类似的:pickle与cPickle:两者的关系:"cPickle – A faster pickle" pickle模块中的两个主要函数是dump()和loa ...
- jieba中文分词源码分析(四)
一.未登录词问题 在jieba中文分词的第一节曾提到未登录词问题 中文分词的难点 分词规范,词的定义还不明确 (<统计自然语言处理>宗成庆) 歧义切分问题,交集型切分问题,多义组合型切分歧 ...
- 操作系统学习笔记 第四章:存储器管理(王道考研)
本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...
- 王道考研 计算机网络笔记 第四章:网络层
本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...
最新文章
- Reinhold就Jigsaw投票一事向JCP提交公开信
- python运行文件后缀_Python程序存储成以.py为扩展名的程序文件用Python解释器执行。(4.5分)_学小易找答案...
- 使用Kickstart+Apache+Dhcp+Pxe无人值守安装操作系统
- 后端程序员的前端工具
- HTML5中figure标签使用实例
- ubuntu下tesseract 4.0安装及参数使用
- 第二次爬虫,更加熟练啦
- 谢欣伦 - OpenDev原创教程 - 蓝牙设备查找类CxBthRemoteDeviceFind
- String源码分析
- 数据库管理之数据表管理(1)
- 基于TI Sitara系列AM3352/AM3354/AM3359的Linux常用开发案例分享
- 数据的存储和管理,主要有哪些好的方法?
- CAD画虚线怎么调比例?CAD画虚线教程
- 【MySql】mysql之用户管理
- 3大奇葩排序之猴子算法
- 微信小程序识别ios平台的底部黑杠padding
- 计算机系统如何重置,如何重置电脑系统?看这里1分钟教会你!
- 处理Maven本地仓库.lastUpdated文件
- 去除电脑弹窗广告的方法
- js文件在谷歌浏览器上显示乱码问题
热门文章
- [ 攻防演练演示篇 ] 利用谷歌 0day 漏洞上线靶机
- flink sql 使用Table Function或Array Expansion 实现列转行(附源码实现)
- 香港电影中的演员:G字头(持续更新中)
- 怎么修改Linux网络名为ens33,Centos7更改ens33网卡名称为eth0
- Redis 雪崩 击穿
- C++ 关键字auto tcy
- Wondershare UniConverter for Mac(视频编辑器)v13.5.1.7
- 35_DMA基本原理
- 华为云计算FusionCompute虚拟化平台的安装与设置
- 信息熵,信息增益详解