使用MXNet远程编写卷积神经网络用于多标签分类
最近试试深度学习能做点什么事情。MXNet是一个与Tensorflow类似的开源深度学习框架,在GPU显存利用率上效率高,比起Tensorflow显著节约显存,并且天生支持分布式深度学习,单机多卡、多机多卡支持丰富,拥有着良好的技术架构。目前是亚马逊AWS的官方深度学习框架。由于其团队以MXNet产品本身为先,所以文档资料较少。现在还稍微多了一点。
1. 搭建Jupyter notebook远程开发环境
Jupyter notebook支持python、R、shell等等,功能非常全面。基于Jupyter notebook,我在实验室的K80 GPUs服务器上搭建MXNet环境(搭建步骤见官网,很简单,131上已装好),然后利用SSH隧道传输,可以随时随地在浏览器里编程,使代码加速运行在K80 GPUs设备上。
Step-by-step教程见博客:http://www.cnblogs.com/shixiangwan/p/6406777.html
2. 卷积神经网络(CNN)
CNN较适合于矩阵特征,例如图像分类,目标检测。生物信息学方面,蛋白质的二级结构预测也有相关paper,牛津出版社的《Deep learning in bioinformatics》叙述很详细:
[attachimg]3437[/attachimg]
当然,CNN也是非常基础的,目前还有RNN(递归神经网络),LSTM(长短记忆网络,NLP和speech领域居多),残差网络(更深且快的卷积网络),GAN(生成对抗网络,亦有很多衍生结构)等等,技术更迭非常之快,一个比较好的书籍是《Deep Learning》,Github上有民间中文版。
对于一些多标签分类任务,想方法把特征做成矩阵形式,也可以利用CNN做分类。这里我写了个试验性程序来证明CNN比传统的多层感知机要优秀些。
数据描述:特征是14489个、34维;标签是14489个、42维。
程序试验:数据直接进入CNN肯定过拟合,于是我将每个特征复制34份形成34*34矩阵(这样做是不对的,只是先跑通CNN)。训练集:验证集:测试集=8:1:1,然后接入普通的卷积网络,用测试集看最终结果。
结果描述:准确率96.5%,这个计算方式是14489*0.1*42=60858个测试样本标签中,有58723个分对的。
源码及运行运行过程输出见:https://github.com/ShixiangWan/MXNet-Bioinformatics/blob/master/protein.ipynb
源码及数据见:https://github.com/ShixiangWan/MXNet-Bioinformatics
程序运行需要(131全都有):
1. MXNet环境
2. Python 2.7环境,numpy包
使用MXNet远程编写卷积神经网络用于多标签分类的更多相关文章
- tensorflow学习之(十)使用卷积神经网络(CNN)分类手写数字0-9
#卷积神经网络cnn import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #数据包,如 ...
- 深度卷积神经网络用于图像缩放Image Scaling using Deep Convolutional Neural Networks
This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning base ...
- 卷积神经网络用于视觉识别Convolutional Neural Networks for Visual Recognition
Table of Contents: Architecture Overview ConvNet Layers Convolutional Layer Pooling Layer Normalizat ...
- Pytorch搭建卷积神经网络用于MNIST分类
import torch from torch.utils.data import DataLoader from torchvision import datasets from torchvisi ...
- CNN卷积神经网络在自然语言处理的应用
摘要:CNN作为当今绝大多数计算机视觉系统的核心技术,在图像分类领域做出了巨大贡献.本文从计算机视觉的用例开始,介绍CNN及其在自然语言处理中的优势和发挥的作用. 当我们听到卷积神经网络(Convol ...
- 基于卷积神经网络CNN的电影推荐系统
本项目使用文本卷积神经网络,并使用MovieLens数据集完成电影推荐的任务. 推荐系统在日常的网络应用中无处不在,比如网上购物.网上买书.新闻app.社交网络.音乐网站.电影网站等等等等,有人的地方 ...
- Neuromation新研究:利用卷积神经网络进行儿童骨龄评估
近日,Neuromation 团队在 Medium 上撰文介绍其最新研究成果:利用卷积神经网络(CNN)评估儿童骨龄,这一自动骨龄评估系统可以得到与放射科专家相似或更好的结果.该团队评估了手骨不同区域 ...
- CS231n课程笔记翻译9:卷积神经网络笔记
译者注:本文翻译自斯坦福CS231n课程笔记ConvNet notes,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客和猴子翻译完成,堃堃和李艺颖进行校对修改. 原文如下 内容列 ...
- 【cs231n】卷积神经网络
较好的讲解博客: 卷积神经网络基础 深度卷积模型 目标检测 人脸识别与神经风格迁移 译者注:本文翻译自斯坦福CS231n课程笔记ConvNet notes,由课程教师Andrej Karpathy授权 ...
随机推荐
- Win10下Pytorch的安装和使用[斗之力三段]
简介: 看到paper的代码是用Pytorch实现的,试图理解代码,但是看不懂,只能先学一些基础教程来帮助理解.笔记本电脑配置较低,所以安装一个没有CUDA的版本就可以了.安装完之后,就可以跟着教程边 ...
- javascript中的大括号和中括号
文章:javascript中{},[]中括号,大括号的含义和使用
- 微信小程序—setTimeOut定时器的坑
原文地址: http://fanjiajia.cn/2018/06/27/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E2%80%94setTimeOu ...
- LTE/EPC中,MME怎么找到UE的HSS的?
http://bbs.c114.net/forum.php?mod=viewthread&tid=486247 HSS---归属用户服务器,我的理解:一般来说只有一个,或者是一个分布式数据库. ...
- PAT 甲级 1036 Boys vs Girls(20)
https://pintia.cn/problem-sets/994805342720868352/problems/994805453203030016 This time you are aske ...
- 【EasyNetQ】- 使用Future Publish调度事件
许多业务流程要求在将来某个日期安排事件.例如,在与客户进行初次销售联系后,我们可能希望在将来的某个时间安排跟进电话.EasyNetQ可以通过其Future Publish功能帮助您实现此功能.例如,这 ...
- C++ 点
2017/12/23 scoped_ptr类型的指针,只能在一个namespace中使用 1) 怎么查看元素在set中是否存在 1) istringstream类用于执行C++风格的串流的输入操作. ...
- sql语句编写 有时候一个子查询可以拆分成多个子查询
sql语句编写 有时候一个子查询可以拆分成多个子查询
- 浅谈javascript的原型及原型链
浅谈javascript的原型及原型链 这里,我们列出原型的几个概念,如下: prototype属性 [[prototype]] __proto__ prototype属性 只要创建了一个函数,就会为 ...
- Problem Collection I 位运算
XOR ARC 092B CF 959E xor-MST CF 959F