Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17298
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2019-02-10 13:28
文章分类
文章存档

2019年(5)

我的朋友
最近访客

分类: Python/Ruby

2019-02-21 13:48:33

使用sinox2019ai进行深度学习


sinox2019ai作为领先的操作系统,自然有其非凡之处。


运行pycharm-ce可视化python集成开发工具






选择python解析器,可以是python2.5,3.5,3,6






最后选择python2.7,这要看你需要的运行环境决定。2.7和3.6的代码并不兼容、






scikit-learn简称sklearn,支持包括分类、回归、降维和聚类四大机器学习算法。还包含了特征提取、数据处理和模型评估三大模块。
多层感知机MLPRegressor 类和 MLPClassifier 类都使用参数 alpha 作为正则化( L2 正则化)系数,正则化通过惩罚大数量级的权重值以避免过拟合问题。


在外部库site-package查看sklean文件








Caffe,全称Convolutional Architecture for Fast Feature Embedding。是一种常用的深度学习框架,主要应用在视频、图像处理方面的应用上。
caffe是一个清晰,可读性高,快速的深度学习框架。






Theano是一个Python库,专门用于定义、优化、求值数学表达式,效率高,适用于多维数组。特别适合做机器学习。一般来说,使用时需要安装python和numpy.
首先回顾一下机器学习的东西,定义一个模型(函数)f(x;w) x为输入,w为模型参数,然后定义一个损失函数c(f),通过数据驱动在一堆模型函数中选择最优的函数就是训练training的过程,在机器学习中训练一般采用梯度下降法gradient descent.






Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:
简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
支持CNN和RNN,或二者的结合
无缝CPU和GPU切换






tensorflow目前未支持,是因为tensorflow是采用nvidia显卡cuda和cudnn专用并行计算架构,而nvidia只发布了windows和linux的cuda版本,sinox使用opengl进行图形并行计算,采用通用架构opencl进行并行计算。
在sinox使用opencl调用gpu的并行计算功能实现3D渲染。有人研究用Theano+OpenCL+libgpuarray实现GPU运算。从长远看nvidia提供opencl接口或者使用别的显卡进行计算都是可能的。


最后运行keras深度学习例子:手写数字识别


运行警告说没有安装g++无法优化,进入/usr/local/bin 执行ln -s g++6  g++做了g++的链接,就可以通过报警。
重新运行后速度快了很多,好像用了gpu,测试集准确率98%。








代码如下


import os
os.environ['KERAS_BACKEND']='theano'


from keras import models
from keras import  layers
from keras.datasets import mnist
from keras.utils import to_categorical




(train_images,train_labels),(test_images,test_labels)=mnist.load_data()
print(train_images.shape)


network=models.Sequential()
network.add(layers.Dense(512,activation='relu',input_shape=(28*28,)))
network.add(layers.Dense(10,activation='softmax'))


network.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])


train_images=train_images.reshape((60000,28*28))
train_images=train_images.astype('float32')/255
test_images=test_images.reshape((10000,28*28))
test_images=test_images.astype('float32')/255


train_labels=to_categorical(train_labels)
test_labels=to_categorical(test_labels)


network.fit(train_images,train_labels,epochs=5,batch_size=128)


test_loss,test_acc = network.evaluate(test_images,test_labels)
print('test_acc:',test_acc)
--------------------- 
作者:汉澳sinox-李炎 
来源:CSDN 
原文:https://blog.csdn.net/sinox2010p1/article/details/87858983 
版权声明:本文为博主原创文章,转载请附上博文链接!

阅读(1397) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~