mxnet修炼之路
修炼之路
主要研究领域包括图像分类、目标检测、OCR、人脸识别等,搞过跨平台的深度学习模型的部署解决方案,设计过分布式的深度学习模型服务架构。
展开
-
gluoncv model转symbol
使用gluoncv加载模型先从gluoncv的model zoo加载模型的网络结构,设置类别数量,然后再加载已经训练好的模型参数#设置GPU的IDgpu_id = 0#设置分类模型的标签类别classes = ["A","B"]#使用gluoncv加载ResNet50_v2模型,并设置模型类别的数量classify_net = gcv.model_zoo.get_model("ResNet50_v2", classes=classify_names, pretrained=False,.原创 2020-10-10 14:38:41 · 404 阅读 · 0 评论 -
flask GPU内存泄漏问题
导读在使用flask部署mxnet模型的时候,测试的时候发现调用flask接口的时候GPU内存一直在增长,最终导致GPU内存爆掉,服务自动荡调了。解决办法从flask1.0之后,app.run中默认打开了threaded=True来支持多个并发请求,从而导致了GPU内存泄漏app.run(debug=False, host='0.0.0.0', port=5010)比较简单粗暴的方法就是,将多线程改成单线程,代码如下app.run(debug=False, host='0.0.0原创 2020-10-10 10:50:27 · 3512 阅读 · 3 评论 -
OSError: libnvidia-ml.so.1: cannot open shared object file: No such file or directory
错误信息在docker中使用GPU版的mxnet时报了如下错误>>> import mxnet as mxTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/dist-packages/mxnet/__init__.py", line 23, in <module> from原创 2020-09-09 15:37:28 · 12054 阅读 · 3 评论 -
mxnet Record IO详解
导读当我们需要使用大数据集来训练模型的时候,这时候加载和读取数据就成为了我们训练的瓶颈。Mxnet提供了一种数据的存储格式ImageRecord,通过这种数据的存储格式可以使用多进程来加载数据,可以极大的提高训练的效率。Mxnet提供了一个mx.recordio模块,可以对ImageRecord文件进行操作,该模块里面包含了两个子模块。MXRecordIO支持顺序读写,MXIndexedRecordIO支持随机读写。下面就来我们一起来看一下,这两个子模块中的一些接口函数,以及如何使用它们来读取和保存Im原创 2020-07-09 13:16:37 · 5107 阅读 · 7 评论 -
mxnet ValueError: Parameter *** because it has not been in
导读在使用mxnet的gluon训练网络的时候,报ValueError: Cannot reset context for Parameter 'mobilenet0_dense1_weight' because it has not been initialized.错误原因通过错误信息不难看出是因为参数mobilenet0_dense1_weight没有初始化导致的,所以我们只需要初始化这个参数即可,mxnet有多种可以初始化参数的方法,这里我们介绍两种collect_params函数初原创 2020-06-10 16:27:01 · 958 阅读 · 0 评论 -
multi-model-server报--model-store is required to load model locally
导读在使用multi-model-server来部署mxnet模型的时候,遇到了--model-store is required to load model locally问题分析在不使用config.properties配置文件的时候,安装官方文档的提示能够正常启动,启动命令如下multi-model-server --start --model-store examples --models ssd=resnet50_ssd_model.marmodel-store:本地目录,模原创 2020-06-03 15:08:19 · 417 阅读 · 0 评论 -
mxnet加载模型的params和json文件来预测
导读有时候我们在使用别人的mxnet预训练模型时,会有两个文件params和json文件,其中params文件中包含的是模型的网络参数,json文件包含的是网络的结构。这里我们以ImageNet的预训练模型为例,来介绍如何加载模型并进行预测。使用预训练模型进行预测下载预训练模型import mxnet as mx#定义一个data batchfrom collections imp...原创 2020-05-02 23:37:29 · 4694 阅读 · 17 评论 -
mxnet报graphviz.backend.ExecutableNotFound: failed to execute
错误描述graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'resnet-18'], make sure the Graphviz executables are on your systems' PATH原因介绍在使用mxnet通过json文件来保存模型的计算图结构时报错,保存...原创 2020-05-01 10:43:49 · 1577 阅读 · 1 评论 -
MXNet训练SSD时SmoothL1变为nan
参考:https://discuss.mxnet.io/t/help-with-ssd-smoothl1-metric-reporting-nan-during-training/4666https://discuss.mxnet.io/t/mxnet-has-trouble-saving-all-parameters-of-a-network/1207/5原创 2020-04-24 21:23:58 · 1006 阅读 · 0 评论 -
MXNet报TypeError: TypeError: Changing attribute type for output from
错误描述TypeError: Changing attribute type for output from <class 'mxnet.gluon.nn.basic_layers.HybridSequential'> to <class 'mxnet.gluon.nn.basic_layers.Dense'>is not allowed.错误原因在使用gluo...原创 2020-04-14 10:26:08 · 441 阅读 · 0 评论 -
Android studio报Error:Expected NDK STL shared object file at libgnustl_shared.so
错误详细描述Error:Expected NDK STL shared object file at D:\sdk\ndk-bundle\sources\cxx-stl\gnu-libstdc++\4.9\libs\x86\libgnustl_shared.so错误分析是由于文件找不到导致的,所以先检查NDK目录下是否存在这个文件通过检查发现该目录下没有存在gnu-libstd...原创 2020-04-01 16:38:44 · 5623 阅读 · 5 评论 -
MXNet获取继承Block网络中的参数名称和参数值
import mxnet as mxfrom mxnet import gluonclass Model(gluon.Block): def __init__(self,**kwargs): super(Model, self).__init__(**kwargs) with self.name_scope(): self.de...原创 2019-10-28 21:56:47 · 1305 阅读 · 0 评论 -
MXNet中的stop_gradient详解
导读import mxnet as mxv1 = mx.nd.array([[1,2]])v2 = mx.nd.array([[0,1]])a = mx.sym.Variable("a")b = mx.sym.Variable("b")b_stop_grad = mx.sym.stop_gradient(3*b)loss = mx.symbol.MakeLoss(3*b + a...原创 2019-10-10 20:50:42 · 2122 阅读 · 0 评论 -
mxnet快速入门教程值NDArray(一)
前言由于最近需要用到mxnet,所以准备结合mxnet官网教程,写一系列mxnet的快速入门教程。通过一系列文章你将能够快速掌握mxnet的核心NDArray和Gluron以及灵活利用mxnet来构建神经网络,mxnet中的NDArray数据结构相当于TensorFlow中的tensor,其结构有点类似于numpy的array,通过mxnet的Gluron可以快速来构建神经网络。接下来的这篇文章...原创 2019-04-21 20:03:53 · 3333 阅读 · 6 评论 -
MXNet的gluon报The "freeze_support()" line can be omitted if the program
详细错误提示:Traceback (most recent call last): File "<string>", line 1, in <module>Traceback (most recent call last): File "D:/python_workspace/mxnet_example/Neural_NetWork.py", line 44...原创 2019-04-29 09:16:18 · 1641 阅读 · 0 评论 -
MXNet快速入门之autograd自动求解梯度(三)
导读在训练模型的时候,为了获取一个好的模型,都是通过最小化损失函数,为了使得损失函数在训练集上最小化,需要在训练集上进行迭代,然后计算出损失值的梯度,然后再利用梯度去更新权重参数,当网络的层数比较多时,我们就需要利用链式求导法则来计算梯度更新权重。如果在使用mxnet定义卷积网络的时候是不需要考虑链式求导以及梯度更新权重等问题的,框架内部都已经实现好了。但是,如果你想修改网络的结构时,就需要自...原创 2019-05-04 22:42:04 · 4667 阅读 · 0 评论 -
MXNet快速入门之训练加载预训练模型(四)
前言在前面几篇文章中详细介绍了MXNet的一些特点以及入门基础知识,本篇文章主要介绍如何使用MXNet来训练模型、加载模型进行预测、预训练模型以及MXNet中GPU使用的相关知识。在介绍训练模型之前,先介绍MXNet如何使用GPU,因为后面训练模型需要利用GPU来加速训练。MXNet的GPU使用安装gpu的mxnet...原创 2019-05-04 22:42:22 · 5014 阅读 · 0 评论 -
mxnet的gluon Trainer接受多个网络参数
参考链接:https://discuss.gluon.ai/t/topic/3087/4from mxnet import ndarray as ndfrom mxnet import autogradfrom mxnet import gluonnum_inputs = 2num_examples = 1000true_w = [2, -3.4]true_b = 4.2...转载 2019-05-14 17:03:25 · 2066 阅读 · 0 评论 -
MXNet报ValueError: The current array is not a scalar
在调用asscalar()方法的时候,报ValueError: The current array is not a scalar错误,下面先看看asscalar()方法的源码 if self.shape != (1,): raise ValueError("The current array is not a scalar") retu...原创 2019-05-18 17:21:19 · 973 阅读 · 0 评论 -
MXNet报TypeError: source_array must be array like object
再将一个包含多个NDArray的list列表直接使用nd.array将其转换为NDArray的时候报TypeError: source_array must be array like object具体代码如下:from mxnet import ndimport numpy as npa = nd.ones((3,3))print(a)b = nd.zeros((3,3))pri...原创 2019-06-10 13:44:21 · 1840 阅读 · 0 评论 -
MXNet报Running performance tests to find the best convolution algorithm
在使用MXNet的RCNN一直提示Running performance tests to find the best convolution algorithm, this can take a while... (set the environment variable MXNET_CUDNN_AUTOTUNE_DEFAULT to 0 to disable)通过错误的提示和Google,...原创 2019-06-18 16:45:06 · 4011 阅读 · 10 评论 -
MXNet报Check failed: exec_ctx.dev_id device_count
问题描述在使用MXNet多个GPU的时候,突然报 了Check failed: exec_ctx.dev_id < device_count_错误,因为电脑上有4个GPU,所以之前用mx.gpu(0)、mx.gpu(1)、mx.gpu(2)、mx.gpu(3)的时候都是正常的,今天突然报错了。详细错误mxnet.base.MXNetError: [14:29:41] src/en...原创 2019-07-15 16:15:59 · 2359 阅读 · 6 评论 -
mxnet快速入门教程之Gluon构建神经网络(二)
前言在上一篇MXNet快速入门之NDArray介绍中,我们已经详细介绍过了MXNet的核心数据结构NDArray的基本用法,在使用MXNet构建神经网络中,到处都可以看到它的影子,如果对NDArray不了解可以参考上一篇文章。本篇文章主要介绍如何使用MXNet来构建神经网络。MXNet构建神经网络MXNet主要提供了两种便利的方式可以用来快速的创建神经网络,接下来我们将分别介绍如何使用Glu...原创 2019-04-21 20:03:20 · 3705 阅读 · 0 评论