GluonCV — 计算机视觉的深度学习工具包

GluonCV:http://gluon-cv.mxnet.io/

公众号链接:https://mp.weixin.qq.com/s/uNQWWeC3ABHfAhPBWHHb1Q
mxnet blog 链接:https://zh.mxnet.io/blog/gluon-cv

6赞

求一个图片识别的gradcam实现(https://arxiv.org/abs/1610.02391),
以及adversarial attack的例子 (类似)

这个软件 www.ai-dlp.com 的想法和gluon很类似,但是用户体验更好!Deep Learning Platform

已找到原因,mxnet不是最新版,更新到最新版后解决

主页的Example在获取ModelZoo时报错

from gluoncv import model_zoo, data, utils
from matplotlib import pyplot as plt

net = model_zoo.get_model(‘ssd_512_resnet50_v1_voc’, pretrained=True)

报错信息:


ValueError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/gluoncv/model_zoo/model_zoo.py in get_model(name, **kwargs)
54 try:
—> 55 net = gluon.model_zoo.vision.get_model(name, **kwargs)
56 except ValueError as e:

/usr/local/lib/python3.6/dist-packages/mxnet/gluon/model_zoo/vision/init.py in get_model(name, **kwargs)
143 ‘Model %s is not supported. Available options are\n\t%s’%(
–> 144 name, ‘\n\t’.join(sorted(models.keys()))))
145 return modelsname

ValueError: Model ssd_512_resnet50_v1_voc is not supported. Available options are

ssd_512_resnet50_v1_voc不是可用的预训练模型名称

666666666
該不會之後會有gluonNLP gluonXXX吧 期待

你猜对了,有gluonnlp,https://github.com/dmlc/gluon-nlp
估计还有一些东西没完善,所以李沐大大还没再论坛上发。昨晚刷微博看到爱可可老师转发了,今早看到还有gluoncv,估计可能还有gluon语音等等

1赞

求个 faster-rcnn 复现。。。:star_struck::star_struck:
如果能配上一篇博客讲解一下实现的思路,代码结构什么的就完美了~

什么时候更新到gluonRL:rofl:

个人意见,模型是否已经训练好其实并不太重要,一个相对灵活的可以自由调节,并且可以在自己数据集上进行训练的模型会更加重要。就像example当中的faster rcnn虽然性能很不错,但是灵活性比较差,很难自由地去调节rpn的结构等等。如果gluoncv做出来和这些symbolic的模型一样,意义就不是特别大了。

P.S.至于对具体模型的需求感觉范围可能非常广泛,和tensorflow相比MXNet最大的缺点也就在这里了吧。有时候在Github上找不到合适的项目可供参考,不知道以后团队是准备如何解决这个问题呢?

3赞

Deep Learning Platform应该可以满足你的需求,不但提供了可视化的网络,用户还可以自由的编辑网络模型

按文档所说的步骤安装后尝试了一下demo_fcn,遇到了如下问题:

ValueError: Model fcn_resnet101_voc is not supported. Available options are
alexnet
densenet121
densenet161
densenet169
densenet201
inceptionv3
mobilenet0.25
mobilenet0.5
mobilenet0.75
mobilenet1.0
mobilenetv2_0.25
mobilenetv2_0.5
mobilenetv2_0.75
mobilenetv2_1.0
resnet101_v1
resnet101_v2
resnet152_v1
resnet152_v2
resnet18_v1
resnet18_v2
resnet34_v1
resnet34_v2
resnet50_v1
resnet50_v2
squeezenet1.0
squeezenet1.1
vgg11
vgg11_bn
vgg13
vgg13_bn
vgg16
vgg16_bn
vgg19
vgg19_bn
During handling of the above exception, another exception occurred:

是不是mxnet还没有跟进更新?!

mxnet 要1.2

已经升级上去了,还有是这样的问题。看了一下代码,貌似就是没有对应的模型。

是我错了,原来是没有设置好voc的目录。

~/.mxnet/datasets/voc

现在可以正常运行了。

所以我们做的事情就是在gluon这个非常灵活的框架下面进行开发,通过export到symbol的方式来增强deploy的泛用性。
当然初期我们的model可能还不全,但是可以期待一下我们的开发速度

希望能够有Return of the Devil in the Details: Delving Deep into Convolutional Networks文章里面提到的VGG-S,M,F这几个模型 :grinning:

赞,看来没入错坑。

求YOLO v3 和 Mask R-CNN的实现

2赞

期待keypoint!

请教大家一个问题哦,我想尝试一下 gluoncv 中语义分割的示例代码 train_fcn.ipynb ,由于我只有一个GPU,所以将ctx_list相应地修改为ctx_list = [mx.gpu(0)]

from gluoncv.utils.parallel import *
#ctx_list = [mx.gpu(0), mx.gpu(1)]
ctx_list = [mx.gpu(0)]
model = DataParallelModel(model, ctx_list)
criterion = DataParallelCriterion(criterion, ctx_list)

但是在后面训练时会遇到如下的错误:

AssertionError                            Traceback (most recent call last)
<ipython-input-28-75760196d95c> in <module>()
      5     with autograd.record(True):
      6         outputs = model(data)
----> 7         losses = criterion(outputs, target)
      8         mx.nd.waitall()
      9         autograd.backward(losses)

~/python3/lib/python3.5/site-packages/gluoncv/utils/parallel.py in __call__(self, inputs, *targets, **kwargs)
     96             return self.module(inputs, *targets, **kwargs)
     97         targets, kwargs = split_load_kwargs(targets, kwargs, self.ctx_list)
---> 98         assert(len(inputs) == len(self.ctx_list))
     99         assert(len(targets) == len(self.ctx_list))
    100         if len(self.ctx_list) == 1:

AssertionError: 

那对于我单GPU的情况,代码应该做怎样的修改呢?

谢谢。