学习笔记︱Nvidia DIGITS网页版深度学习框架——深度学习版SPSS

DIGITS: Deep Learning GPU Training
System1,是由英伟达(NVIDIA)公司开发的第一个交互式深度学习GPU训练系统。目的在于整合现有的Deep
Learning开发工具,实现深度神经网络(Deep Neural
Network,DNN)设计、训练和可视化等任务变得简单化。DIGITS是基于浏览器的接口,因而通过实时的网络行为的可视化,可以快速设计最优的DNN。DIGITS是开源软件,可在GitHub上找到,因而开发人员可以扩展和自定义DIGITS。
Github界面:https://github.com/NVIDIA/DIGITS/tree/master/docs


笔者还有话说: 笔者是从传统统计学过来的,我觉得Nvidia
DIGITS就是接下来深度学习的SPSS,这是一个开端,笔者觉得接下来会有很多框架会有这样的可视化操作界面。
特别是Tensorflow是基于节点流进行编译算法,编译起来又特别麻烦,笔者觉得tensorflow如果可以效仿SPSS
Modeler一样流运作,也是极好的~

这里写图片描述


一、安装基本环境

本节会简单介绍一下安装需求,其实如果有GPU,后续也就顺理成章的可以安装出来了。一般在安装、并配置好caffe之后,直接再安装DIGITS即可。

  • 1、如官方所述,DIGITS现在仅支持Ubuntu,当然也在其它Linux系统上测试成功,未见有在Windows上配置的案例;
  • 2、DIGITS尝试囊括更多的开源Deep Learning 框架,当前(digits-2.0)仅包括:Caffe, Torch, Theano, and BIDMach.

采用源码安装DIGITS前,事先要安装CUDA(必须)、cuDNN(用于GPU加速,建议安装),Caffe(运行DIGITS至少要有一个Deep Learning framework,也可以安装Theano,这里不介绍)。

  • 操作系统:Ubuntu 14.04 LTS 64 bit(ubuntu-14.04.3-desktop-amd64.iso)
  • CUDA:CUDA-7.0(cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb),支持CUDA的GPU
  • cuDNN:cuDNN-7.0(cudnn-7.0-linux-x64-v3.0-rc.tgz)
  • Caffe:Caffe-0.13.0(caffe-master.zip,必须是NVIDIA’s fork,原因点此)
  • DIGITS:DIGITS-2.0(源码安装,DIGITS-master.zip)

二、详细的安装过程

本文只是笔记,就不累述安装配置过程。可见博客以下几类博客:

还有一个BUG!就是supervessel超能云服务器上已经帮你配置好DITIGS,不过笔者在尝试的时候并没有尝试成功,之后会开贴说一下supervessel: supervessel-免费云镜像︱GPU加速的Caffe深度学习开发环境


三、一些DIGITS实际运行案例

其中机器之心翻译文章很棒!!强推!!:机器学习初学者入门实践:怎样轻松创造高精度分类网络,非常棒,入门级!!

四、可视化界面介绍

几个比较好的功能点,贴图贴真相:

  • 1、点击式菜单界面
  • 2、而且可视化了深度学习训练过程
  • 3、报错都直接帮你显示出来
  • 4、分类结果的可视化

这里写图片描述

点击式菜单界面,而且可视化了深度学习训练过程。
这里写图片描述

报错都直接帮你显示出来,以便查看出错在哪:
这里写图片描述
分类结果的可视化:

这里写图片描述

参考文献:
NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
http://blog.csdn.net/enjoyyl/article/details/47397505#安装digits

.
.


延伸一:深度学习调参网页版HyperBoard

HyperBoard 是一个辅助深度学习调参的网页端可视化工具,不依赖于特定的深度学习框架(如 Tensorflow),能够在远程服务器训练模型的同时在本地浏览器进行可视化。
目前支持训练曲线的实时更新,可以方便地按照超参数组合对几十上百条训练曲线进行筛选和隐藏,下一步计划支持动态的统计直方图和向量可视化功能。

项目源码及文档地址:
https://github.com/WarBean/hyperboard

界面局部如下所示:
这里写图片描述


延伸二:DIGITS安装实践

安装的官方网址参考链接:
https://github.com/NVIDIA/DIGITS/blob/master/docs/UbuntuInstall.md

开始的方式,在浏览器键入,或者有以下几种方式:

http://localhost/
http://<EC2_INSTANCE_PUBLIC_IP>
#参考:https://github.com/bitfusionio/amis/tree/master/awsmrkt-ubuntu-digits

启动Digits服务:

% sudo start nvidia-digits-server

关闭Digits服务:

% sudo stop nvidia-digits-server

可参考博客:
http://blog.csdn.net/striker_v/article/details/53096279

  • 报错一:
/usr/share/lua/5.1/cunn/THCUNN.lua:7: libcusparse.so.7.5: cannot open shared object file: No such file or directory

最简单的修复的方式:

sudo apt-get install cuda-cusparse-7-5
sudo ldconfig
  • 报错二:
now i have a new problem ,like tihs
user@user-ProLiant-DL380-Gen9:~/digits$ ./digits-devserver 
Default value for caffe_root "<PATHS>" invalid:
    caffe binary not found in PATH
==================================== Caffe =====================================
Where is caffe installed?

    Suggested values:
    (P*) [PATH/PYTHONPATH] <PATHS>
>> ~/caffe
ERROR: Library at "libcaffe.so.1.0.0-rc3" does not have expected suffix "-nv". Are you using the NVIDIA/caffe fork?
Invalid input

无解Ing,谁来help,怎么输链接,都没用。
参考链接:
https://github.com/NVIDIA/DIGITS/issues/1292

.

延伸三:一般服务器使用步骤

一般在公司服务器,只要连接的是公司的网络,只要服务器一直开着并启动digits就可以公司内服务器连用。
1、启动
来到digits文件夹的寻找并键入:

sudo ./digits-devserver

2、键入地址
如果是服务器本机,键入:

0.0.0.0:5000/

如果其他机器访问,则先得到该服务器的内网IP

http://xxx.xxx.xxx.xxx:5000/
  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
将数据分解方法与深度学习相结合可以帮助我们更好地处理大规模、高维度的数据,提高模型的效率和准确性。以下是一个简单的代码演示,使用主成分分析(PCA)对手写数字数据集进行降维,并以此为基础训练一个卷积神经网络(CNN)模型。 首先,我们加载手写数字数据集并进行PCA降维: ```python from sklearn.datasets import load_digits from sklearn.decomposition import PCA # Load the digits dataset digits = load_digits() # Perform PCA to reduce the dimension of the data pca = PCA(n_components=30) data = pca.fit_transform(digits.data) ``` 接下来,我们将数据集划分为训练集和测试集: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(data, digits.target, test_size=0.2, random_state=42) ``` 然后,我们定义一个CNN模型。在这个例子中,我们使用Keras库来定义和训练模型: ```python from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D, Dense, Flatten # Define the CNN model model = Sequential() model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(5, 6, 1))) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Flatten()) model.add(Dense(128, activation='relu')) model.add(Dense(10, activation='softmax')) # Compile the model model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) ``` 最后,我们训练模型并评估其性能: ```python import numpy as np from keras.utils import to_categorical # Convert target labels to categorical format y_train_onehot = to_categorical(y_train) y_test_onehot = to_categorical(y_test) # Reshape input data to 4D format X_train_4D = X_train.reshape(X_train.shape[0], 5, 6, 1) X_test_4D = X_test.reshape(X_test.shape[0], 5, 6, 1) # Train the model model.fit(X_train_4D, y_train_onehot, epochs=10, batch_size=32, validation_data=(X_test_4D, y_test_onehot)) # Evaluate the model score = model.evaluate(X_test_4D, y_test_onehot, verbose=0) print('Test loss:', score[0]) print('Test accuracy:', score[1]) ``` 这里我们只使用了PCA来降维,实际上还有很多其他的数据分解方法,如因式分解、矩阵分解等,可以根据具体应用场景选择合适的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值