摘要:突然冒出了一个想法,可以不可以设计一个并行的强化学习计算模式,能够使强化学习算法充分利用计算机的硬件平台来快速计算呢??? 经过好一顿胡思乱想有了下面的设计: 说明: 由于强化学习算法需要和环境交互,比如最常见的在线强化学习就需要不断的和环境交互以获得最新的数据从而来训练强化学习算法。以往的强化学习
        
阅读全文
 
    
        
        
摘要:引用:https://zhuanlan.zhihu.com/p/32513483 共享 numpy 数组 需要用到 numpy 时往往是数据量较大的场景,如果直接复制会造成大量内存浪费。共享 numpy 数组则是通过上面一节的 Array 实现,再用 numpy.frombuffer 以及 resh
        
阅读全文
 
    
        
        
摘要:原文地址: http://xiaorui.cc/archives/3290 当第一次使用python多进程模块(multiprocessing)的Value Array做数据共享,就觉得一定是基于mmap实现的。 当然python文档中也说明是共享内存的方式了。 mmap只是提供了文件映射内存到进程
        
阅读全文
 
    
        
        
摘要:参考: https://stackoverflow.com/questions/8463008/multiprocessing-pipe-vs-queue 区别: A Pipe() can only have two endpoints. A Queue() can have multiple pr
        
阅读全文
 
    
        
        
摘要:前文已经给出1.3.0gpu版本的编译及安装,本文在此基础上进行分布式组件的安装,前文信息参看: 国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行——(修复部分bug,给出具体编译和安装过程)—— 第一部分:依赖环境的安装 国产计算框架minds
        
阅读全文
 
    
        
        
摘要:前文: 国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行——(修复部分bug,给出具体编译和安装过程)—— 第一部分:依赖环境的安装 我们已经进行了依赖环境的安装,本篇文章则是进行源码的下载及编译,并安装编译后的文件并运行以测试是否成功。 必要环
        
阅读全文
 
    
        
        
摘要:国产计算框架MindSpore的r1.3分支源代码存在部分bug,导致无法从源码方式进行gpu环境下的编译。 具体参看: https://www.cnblogs.com/devilmaycry812839668/p/15059000.html https://www.cnblogs.com/devi
        
阅读全文
 
    
        
        
摘要:mindspore 的 r1.3 分支 在gpu方式编译下存在问题,无法编译,具体编译结果参考: https://www.cnblogs.com/devilmaycry812839668/p/15054624.html 编译时会报错,提示就是使用cmake自动编译mindspore-r1.3-gpu
        
阅读全文
 
    
        
        
摘要:官网地址: https://www.mindspore.cn/install 安装CUDA11.1.0 和 cuDNN 8.0.X版本: cuda安装 下载并安装: wget https://developer.download.nvidia.com/compute/cuda/11.1.0/loca
        
阅读全文
 
    
        
        
摘要:官网地址: https://www.mindspore.cn/install 所有依赖环境 进行sudo make install 安装,最终报错: 错误记录信息: cat /tmp/mindspore/build/mindspore/CMakeFiles/CMakeError.log Perfor
        
阅读全文
 
    
        
        
摘要:本文给出源码安装gcc7.3.0的方法。 依赖的环境安装到自建文件夹下, 给出下面操作中环境的安装文件夹: /home/devilmaycry/anaconda3/mindspore_envs这个路径可以按照个人情况进行设置的,只要下面均保持一致即可。 下文中修改 .bashrc 是指打开.bash
        
阅读全文
 
    
        
        
摘要:官网地址: https://www.mindspore.cn/install 系统:Ubuntu18.04 硬件: i7-9700k CPU 2060super nvidia显卡 由于考虑到mindspore版本更新,依赖环境的变化,因此将mindspore依赖的环境安装到自建文件夹下, 给出下面操
        
阅读全文
 
    
        
        
摘要:原文地址: https://zhuanlan.zhihu.com/p/124994344 Python是很高层的语言,本身没有像C那样的“指针”的概念,文档里涉及到指针的,基本都是"CPython implementation detail"。CPython本身是用C写的,所以肯定也是有“指针”的,
        
阅读全文
 
    
        
        
摘要:原文地址: http://xiaorui.cc/archives/3290 摘抄内容: 接着粗略的聊聊multiprocessing共享内存的实现方法. multiprocessing提前设定的ctypes映射表,这样对你来说只需要传递符号就可以了。 typecode_to_type = { 'c'
        
阅读全文
 
    
        
        
摘要:内容接前文: https://www.cnblogs.com/devilmaycry812839668/p/15032493.html 再一次更正前面的理解,看了文章, https://zhuanlan.zhihu.com/p/124994344 又有了新的理解。 从文章(https://zhuan
        
阅读全文
 
    
        
        
摘要:最近在看Python的性能优化方面的文章,突然想起ctypes这个模块,对于这个模块一直不是很理解,不过再次看完相关资料有了些新的观点。 ctypes 这个模块个人观点就是提供一个Python类型与C类型数据转换接口或者说是规则的一个模块。ctypes定义的数据类型其实并不是一种数据类型,而更应该说
        
阅读全文
 
    
        
        
摘要:如题: 深度强化学习算法(深度强化学习框架)为考虑可以快速适用多种深度学习框架建议采用弱耦合的软件设计方法 今日在看强化学习的框架,发现现在的深度强化学习框架不论是依赖Tensorflow的还是PyTorch的,在设计时都没有考虑过耦合这个问题,虽然强化学习算法源于学术界,而且现在也还是主要停留于学
        
阅读全文
 
    
        
        
摘要:分布式深度学习计算框架(MindSpore, PyTorch)依赖环境——NCCL, NCCL提供多显卡之间直接进行数据交互的功能(可以跨主机进行)。 注意: 本文环境为 Ubuntu18.04 以mindspore1.2.1-gpu计算框架为示范 NCCL的官方主页: https://develo
        
阅读全文
 
    
        
        
摘要:相关内容参考: https://www.cnblogs.com/devilmaycry812839668/p/15022320.html docker 容器内安装 nccl 后,测试是否安装成功: 使用 NVIDIA公司官方提供的测试工具: nccl-tests 国内下载地址: https://gi
        
阅读全文
 
    
        
        
摘要:如题目所述: 计算框架MindSpore分布式并行训练报错,具体版本:docker-gpu-1.2.1 运行环境: 硬件:Intel CPU, 4卡泰坦 软件:Ubuntu18.04宿主机,docker容器运行MindSpore-gpu-1.2.1-docker版本 相关软件安装与免密登陆配置: d
        
阅读全文
 
    
        
        
摘要:参考: https://gitee.com/mindspore/mindspore/blob/r1.2/CONTRIBUTING.md 对fork的MindSpore_Hub进行PR提交: 1. 在MindSpore_hub官网代码库行进行fork (这里以gitee为例) 地址: https://
        
阅读全文
 
    
        
        
摘要:相关官方资料: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/use/publish_model.html 参考地址: https://gitee.com/mindspore/hub/blob/r1.2/mshub_res/README.
        
阅读全文
 
    
        
        
摘要:在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题。 这里通过遇到的问题来理解docker容器用户uid的使用,以及了解容器内外uid的映射关系。 遇到的问题 本地有一个node的项目需要编译,采用docker来run npm install. sudo docker r
        
阅读全文
 
    
        
        
摘要:接前文: https://www.cnblogs.com/devilmaycry812839668/p/15005959.html 前文中,在冻结底层特征提取层的参数后,只训练最后一层全连接层,最终可以获得测试效果: 59 epoch, metric: {'Loss': 0.769819343223
        
阅读全文
 
    
        
        
摘要:从官方资料: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/use/save_model.html?highlight=save_checkpoint 在模型训练过程中,可以添加检查点(CheckPoint)用于保存模型的参数,以便执行推
        
阅读全文
 
    
        
        
摘要:本文参考内容: https://www.mindspore.cn/doc/programming_guide/zh-CN/r1.2/advanced_usage_of_checkpoint.html?highlight=save_checkpoint 有官方文档内容可知,我们对网络参数的保存不仅可以
        
阅读全文
 
    
        
        
摘要:本文主要内容源于: https://www.mindspore.cn/tutorial/training/zh-CN/master/use/load_model_for_inference_and_transfer.html#id1 本地加载模型 用于推理验证 针对仅推理场景可以使用load_che
        
阅读全文
 
    
        
        
摘要:MindSpore计算框架提供了一个官方版本的预训练模型存储库,或者叫做官方版本的预训练模型中心库,那就是 MindSpore / hub 。 首先我们需要明确概念: 第一个就是 mindspore_hub 是一个Python库,或者说是一个Python包(package), 我们需要在Python
        
阅读全文
 
    
        
        
摘要:代码原地址: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/use/load_dataset_text.html 完整代码: import os os.system("rm -f ./datasets/tokenizer.txt") if
        
阅读全文
 
    
        
        
摘要:在MindSpore中使用model.train训练网络时我们难以处理间断性的任务,为此我们可以考虑使用MindSpore中的Callback机制。Callback 函数可以在 model.train 的每一步(step)训练结束后进行自定义的操作。Callback 函数: from mindspo
        
阅读全文
 
    
        
        
摘要:内容接前文: https://www.cnblogs.com/devilmaycry812839668/p/14988686.html https://www.cnblogs.com/devilmaycry812839668/p/14990021.html 前面是我们自己按照个人理解实现的单步计算,
        
阅读全文
 
    
        
        
摘要:参考代码: https://www.cnblogs.com/devilmaycry812839668/p/14971668.html dataset_sink_mode=True 时,我们可以理解是把数据进行部分的缓存到计算设备上,那么dataset_sink_mode为False和True时对性能
        
阅读全文
 
    
        
        
摘要:内容接前文: https://www.cnblogs.com/devilmaycry812839668/p/14988686.html 这里我们考虑的数据集是自建数据集,那么效果又会如何呢??? import mindspore import numpy as np # 引入numpy科学计算库 i
        
阅读全文
 
    
        
        
摘要:如题所述: 深度学习框架MindSpore是华为公司研发的,由于性能设计的原因,MindSpore的一些使用方式和TensorFlow和PyTorch有一些不同,其中的一点就是在进行单步计算或者是非持续数据流的计算的时候,该种情景下MindSpore的编程方式有些自有特点。 参考前文: https:
        
阅读全文
 
    
        
        
摘要:如题: 官方中的内容支持: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/summary_record.html?highlight=sink_mode 使用summary功能时,建议将model.train方法
        
阅读全文
 
    
        
        
摘要:该软件地址: https://gitee.com/nxshell/nxshell 截图: 个人体验: 测试环境Ubuntu18.04 操作系统。 ssh 功能的一般使用是没有问题的,自己创建的session页面不能全屏是个遗憾,整体的界面设计还是不错的,尤其是颜色搭配。 ftp 功能可能有些粗糙,打
        
阅读全文
 
    
        
        
摘要:前文: https://www.cnblogs.com/devilmaycry812839668/p/14975860.html 前文中我们使用自己编写的损失函数和单步梯度求导来实现算法,这里是作为扩展,我们这里使用系统提供的损失函数和优化器,代码如下: import mindspore impor
        
阅读全文
 
    
        
        
摘要:原文地址: https://gitee.com/mindspore/mindspore/issues/I3ZG99 Software Environment: -- MindSpore r1.2 GPU ( pip install this package) -- Python 3.7.5 -- L
        
阅读全文
 
    
        
        
摘要:原文地址: https://www.cnblogs.com/codexiaoyi/p/14975236.html 现在无论是客户端、服务端或web开发都会涉及到多线程的概念。那么大家也知道,线程是操作系统能够进行运算调度的最小单位,同一个进程中的多个线程都共享这个进程的全部系统资源。 线程 三个基本
        
阅读全文
 
    
        
        
摘要:如何使用 MindSpore 实现一个简单的 线性回归呢??? 根据前面的mindspore的基本操作的学习写出了下面的 一个简单的线性回归算法。 import mindspore import numpy as np #引入numpy科学计算库 import matplotlib.pyplot a
        
阅读全文
 
    
        
        
摘要:代码原地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/autograd.html MindSpore计算一阶导数方法 mindspore.ops.GradOperation (get_all=False, get_by_list=False, sen
        
阅读全文
 
    
        
        
摘要:代码原地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/model.html 建立神经网络: import mindspore.nn as nn class LeNet5(nn.Cell): """ Lenet网络结构 """ def __init__
        
阅读全文
 
    
        
        
摘要:参考地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/dataset.html 数据集下载: mkdir -p ./datasets/MNIST_Data/train ./datasets/MNIST_Data/test wget -NP ./data
        
阅读全文
 
    
        
        
摘要:如题所述,官网地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/quick_start.html 数据集下载: mkdir -p ./datasets/MNIST_Data/train ./datasets/MNIST_Data/test wget -
        
阅读全文
 
    
        
        
摘要:创建MindSpore虚拟环境 创建虚拟环境并安装依赖库 conda create -n mindspore python=3.7.5 cudatoolkit=10.1 cudnn=7.6.5 gmp=6.1.2 nccl openmpi 或者分步安装: conda create -n mindsp
        
阅读全文
 
    
        
        
摘要:深度学习框架 MindSpore —— 华为出品的AI计算框架 官网地址: https://www.mindspore.cn/ 源代码地址: https://gitee.com/devilmaycry812839668/mindspore 安装方法: (注意: 这里假设已经安装好了docker及NV
        
阅读全文
 
    
        
        
摘要:如题,ssh登录建立好的docker容器,无操作一段时间后,发现ssh自动断开: 解决方法: 修改配置文件 /ect/ssh/sshd_config 在文件最后添加下面内容: PermitRootLogin yes UsePAM no ClientAliveInterval 30 ClientAli
        
阅读全文
 
    
        
        
摘要:docker 以交互式的方式启动容器后,如果使用exit退出交互界面后,整个容器都会exit 。但是如何使我们退出交互模式的同时不关闭容器呢,那就是在要退出交互模式时不使用exit还是使用命令 Ctrl+P+Q 。 命令: Ctrl+P+Q 举例: docker 交互模式启动一个 mindspore
        
阅读全文
 
    
        
        
摘要:将当前登录的用户添加到docker组中,这样以后在访问docker时就不用在sudo了 1. 查看是否创建docker 组 cat /etc/group | grep docker 2.创建docker组,第一步打印出东西证明以前建过,就直接跳过这一步。(由于第一步中都会看到已经默认创建了docke
        
阅读全文
 
    
        
        
摘要:今天在网上闲逛的时候看到这样一个内网穿透的软件,ngrok, https://gitee.com/kxwinxp/ngrok 记得10多年前自己在读大学的时候曾经好一段时间在研究内网穿透技术,最后发现这东西的技术无论怎么搞都是要有一个公网服务器的,不然nat穿透,尤其是双端nat穿透是搞不了的,由于
        
阅读全文
 
    
        
        
摘要:与前文中的俄罗斯方块游戏一样都是可以用于强化学习算法的游戏模拟器,这里介绍的是超级玛丽奥(gym-super-mario-bros)游戏的仿真环境。 Python库,代码地址: https://gitee.com/devilmaycry812839668/gym-super-mario-bros 该
        
阅读全文
 
    
        
        
摘要:俄罗斯方块模拟器(tetris 游戏),Python库地址: https://gitee.com/devilmaycry812839668/gym-tetris 在Python3.7环境下亲测可用: 安装: pip install gym-tetris 安装好后测试代码: from nes_py.w
        
阅读全文