飞桨paddle遇到bug调试修正【迁移工具、版本兼容性】
PaddlePaddlle强化学习及PARL框架{飞桨}
1. 飞桨PARL_2.0(遇到bug调试修正)
1.1版本兼容问题
迁移工具Paddle X 转为 Paddle 2.0,安装
$ pip install paddle_upgrade_tool
版本替换:
paddle_upgrade_tool支持单文件的转化,你可以通过下方的命令直接转化单独的文件
paddle_upgrade_tool --inpath paddle_upgrade_tool --inpath E:\360MoveData\Users\小丁\Desktop\train.py
红色部分替换:文件路径
注意,对于参数的删除及一些特殊情况,迁移工具都会打印WARNING信息,需要你仔细核对相关内容。 如果你觉得上述信息没有问题,可以直接对文件进行原地修改,方式如下:(原文件修改加--write ,替换原文件)
$ paddle_upgrade_tool --inpath models/dygraph/mnist/train.py –write
此时,命令行会弹出下方的提示:
"models/dygraph/mnist/train.py" will be modified in-place, and it has been backed up to "~/.paddle_upgrade_tool/train.py_backup_2020_09_09_20_35_15_037821". Do you want to continue? [Y/n]:
输入y
后即开始执行代码迁移。为了高效完成迁移,工具这里采用了原地写入的方式。此外,为了防止特殊情况,工具会备份转换前的代码到 ~/.paddle_upgrade_tool
目录下,如果需要,你可以在备份目录下找到转换前的代码。
代码迁移完成后,会生成一个report.log文件,记录了迁移的详情。内容如下:
$ cat report.log
1.2.BUG调试1
问题: 2.0默认使用了动态图模式,如用静态图需要添加static
【AssertionError: In PaddlePaddle 2.x, we turn on dynamic graph mode by default, and 'data()' is only supported in static graph mode. So if you want to use this api, please call 'paddle.enable_static()' before this api to enter static graph mode】
import paddle
paddle.enable_static()
1.3. bug调试2
问题:在使用CPU版本得PaddlePaddle1.8.1和强化学习包parl1.3.1版本时,进行训练会报错
Found non-empty CUDA_VISIBLE_DEVICES. But PARL found that Paddle was not complied with CUDA, which may cause issues.
if you want to use GPU, please try to install GPU version PaddlePaddle by: pip install paddlepaddle-gpu If you only have CPU, please change CUDAPlace(0) to be CPUPlace().
此时会终止训练,然后提示安装gpu版本得paddle。我们只需要修改一下源码就可以继续运行,且后续安装gpu版本仍然可以使用。
解决方法:
此类问题主要是显卡驱动可以让程序检测出有显卡,所以在运行的时候自动选择了GPU版本的paddlepaddle。我们需要修改一下parl源码。
首先找到python安装路径,然后寻找Lib/site-packages/parl/utils
找到machine_info.py文件,然后在105行后, 也就是is_gpu_available这个函数中添加ret=False。
1.4. bug调试3
解决方案:https://blog.csdn.net/qq_43422918/article/details/90271684
imp 从 Python 3.4 之后弃用了,建议使用 importlib 代替
1,在第一行,注释掉 imp
,导入 importlib
2,
注释 imp.load_source
,使用 importlib.machinery.SourceFileLoader
加载模块
#module = imp.load_source(moduleName, fileName)
module = importlib.machinery.SourceFileLoader(moduleName, fileName).load_module()
改动后代码
其余不做改动。
安装成功:
可能存在问题,会使tensorflow程序出现问题imp未安装,如果出现此问题,请改回原来程序
原因是:paddle不要和tensorflow安装在同一个环境下!!!
2.AI studio端调试遇到问题
2.1.版本不兼容、各种库未安装
import os
import numpy as np
import parl
from parl import layers
from paddle import fluid
from parl.utils import logger
from parl.env.continuous_wrappers import ActionMappingWrapper
#from parl.utils import action_mapping # 将神经网络输出映射到对应的 实际动作取值范围 内
from parl.utils import ReplayMemory # 经验回放
from rlschool import make_env # 使用 RLSchool 创建飞行器环境
python -m pip uninstall paddlepaddle
python -m pip install paddlepaddle==1.8.5 -i https://mirror.baidu.com/pypi/simple
pip install rlschool -i https://mirror.baidu.com/pypi/simple
卸载旧版本安装最新版本
在终端-1里操作
飞桨paddle遇到bug调试修正【迁移工具、版本兼容性】的更多相关文章
- 【百度飞桨】手写数字识别模型部署Paddle Inference
从完成一个简单的『手写数字识别任务』开始,快速了解飞桨框架 API 的使用方法. 模型开发 『手写数字识别』是深度学习里的 Hello World 任务,用于对 0 ~ 9 的十类数字进行分类,即输入 ...
- 百度飞桨数据处理 API 数据格式 HWC CHW 和 PIL 图像处理之间的关系
使用百度飞桨 API 例如:Resize Normalize,处理数据的时候. Resize:如果输入的图像是 PIL 读取的图像这个数据格式是 HWC ,Resize 就需要 HWC 格式的数据. ...
- Ubuntu 百度飞桨和 CUDA 的安装
Ubuntu 百度飞桨 和 CUDA 的安装 1.简介 本文主要是 Ubuntu 百度飞桨 和 CUDA 的安装 系统:Ubuntu 20.04 百度飞桨:2.2 为例 2.百度飞桨安装 访问百度飞桨 ...
- 我做的百度飞桨PaddleOCR .NET调用库
我做的百度飞桨PaddleOCR .NET调用库 .NET Conf 2021中国我做了一次<.NET玩转计算机视觉OpenCV>的分享,其中提到了一个效果特别好的OCR识别引擎--百度飞 ...
- 飞桨paddlespeech语音唤醒推理C实现
上篇(飞桨paddlespeech 语音唤醒初探)初探了paddlespeech下的语音唤醒方案,通过调试也搞清楚了里面的细节.因为是python 下的,不能直接部署,要想在嵌入式上部署需要有C下的推 ...
- geotrellis使用(七)记录一次惨痛的bug调试经历以及求DEM坡度实践
眼看就要端午节了,屌丝还在写代码,话说过节也不给轻松,折腾了一天终于解决了一个BUG,并完成了老板安排的求DEM坡度的任务,那么就分两段来表. 一.BUG调试 首先记录一天的BUG调试,简单copy了 ...
- geotrellis使用(十二)再记录一次惨痛的伪BUG调试经历(数据导入以及读取瓦片)
Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 BUG还原 查找BUG 解决方案 总结 后记 一.前 ...
- 最难忘的Bug调试经历
摘要:目前,著名的社区问答网站Quora上出现一个很火的讨论:你调试过最难的Bug是什么?大家纷纷留言,把自己最痛苦的一次调试经验写下来. 相信每位程序员都有过一段不堪回首地Bug调试经历,程序员一听 ...
- 使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象
如题(“使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象”). 今天使用ffmpeg进行宿放和颜色格式转换,很简单的代码,却折腾了我一天,这里说来就气啊 ...
- 论 BUG调试与(程序猿)初学者
作为一枚程序猿,BUG调试是最基本的技能,对于初学者更是重中之重.个人而言,要想为自己的程序猿生涯更上一层楼,就得知道什么是BUG调试,而且还必须知道怎么调好BUG.那么BUG究竟是什么呢?在我之前的 ...
随机推荐
- Python中字符前添加r,b,u,f前缀的含义
1.在python字符串前添加r,意思为消除转义字符 2.在python字符串前添加f,意思为支持大括号内的python 表达式. 3.在python字符串前添加b,意思为字符串类型为byte类型,在 ...
- 【开源项目推荐】——纯中文本地GPT知识库搭建项目.assets
大家好,我是独孤风. 又到了本周的开源项目推荐.近一年多的时间,人工智能迎来了大爆发.GPT相关的大模型的发展让很多领域都发生了巨大的变化. 但是虽然GPT的自然语言识别功能异常的强大,但回答给我们的 ...
- SpringBoot发布https服务
一.生成SSL证书 1.进入本地jdk的路径 cd D:\Program\jdk1.8.0_77\jre\lib\security cmd窗口生成证书HSoftTiger.keystore到D盘 ke ...
- <vue 路由 1、路由的基本使用>
一. 项目创建 参考如下博客地址创建一个vue的项目 https://www.cnblogs.com/yclh/p/15356171.html vue学习笔记 二.环境搭建+项目创建 二. ...
- 理解 docker volume
1. docker volume 简介 文章 介绍了 docker image,它由一系列只读层构成,通过 docker image 可以提高镜像构建,存储和分发的效率,节省时间和存储空间.然而 do ...
- linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
1.Vim命令使用 vim 为编辑文本命令: vim 文件 回车即可查看文件 按 字母 i 键,即可进入 insert 编辑模式. 按 ESC 键即可退出编辑模式 输入冒号:wq 即可保存修改 输入 ...
- 【VSCode】秒下vscode
有时从vscode官网下载速度奇慢甚至失败,介绍一种方法可以秒下 进入官网选择要下载的版本 像我的电脑,下载网址根本打不开 修改下载网址,替换下载地址中红框字符串:vscode.cdn.azure.c ...
- [转帖]Clickhouse单机及集群部署详解
https://www.cnblogs.com/ya-qiang/p/13540016.html 一.ClickHouse简介 ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析( ...
- [转帖]CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9)
CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9) 共10073个文件 复制389-ds-base-1.3.10.2-6.el7.x86_64.rpm ...
- [转帖]《Linux性能优化实战》笔记(二)—— CPU 上下文切换(上)
上一篇的最后一个例子,在多个进程竞争CPU时,我们看到每个进程实际上%usr部分只有20%多,70%多是在wait,但是load远远高于单个进程使用CPU达到100%. 这让我想到之前看的RWP公开课 ...