使用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) |