SAS深度学习接口

sas-dlp的Python项目详细描述


dlpy-sas viya python深度学习api

SAS Deep Learning Icon

将深度学习方法应用于图像、文本和音频数据的有效方法。

SAS Viya VersionPython VersionPython Version

概述

dlpy是用于sas深度学习特性的高级python库 SAS Viya提供。DLPY旨在提供 对图像、文本和音频数据应用深度学习方法。DLPY API 在Kerasapi之后创建 具有PyTorch风味。

最近添加了什么

  • 除图像外,还支持文本、音频和时间序列
  • 新的API用于:
    • 基于RNN的任务:文本分类、文本生成和序列标记
    • 目标检测
    • 图像分割
    • 时间序列处理和建模
  • 处理音频文件并创建语音识别模型
  • 其他预定义的网络架构,如densenet、darknet、inception、yolo, fasterrcnn、u-net、mobilenet和shufflenet
  • 增强的数据可视化和元数据处理

先决条件

  • python版本3或更高版本是必需的
  • 使用pip install swatconda install -c sas-institute swat
  • 为python安装sasScripting Wrapper for Analytics Transfer (SWAT)
  • 需要使用Visual Data Mining and Machine Learning(vdmml)访问SAS Viya 3.4环境
  • 需要用户登录到您的sas viya后端。如果您没有SAS VIYA帐户,请与系统管理员联系以获取详细信息。
  • 建议您安装名为Graphviz的开源图形可视化软件,以实现dlpy深度学习模型的图形可视化
  • 使用pip install sas-dlpyconda install -c sas-institute sas-dlpy
  • 安装dlpy

SAS VIYA和VDMML版本与DLPY版本的比较

dlpy版本与sas viya和vdmml版本一致。 下面是版本矩阵。

DLPySAS ViyaVDMML
1.13.48.4
1.03.48.3

上表的内容如下:1.0(含)之间的dlpy版本 to 1.1(独占)设计用于SAS VIYA 3.4和VDMML 8.3。

外部库

支持以下版本的外部库:

  • onnx:versions>;=1.5.0
  • keras:versions>;=2.1.3

开始

要连接到SAS Viya服务器,请导入swat并使用swat.cas类 创建连接:

注意:默认的cas端口是5570。

>>> import swat
>>> sess = swat.CAS('mycloud.example.com', 5570)

接下来,导入dlpy包,然后构建一个简单的卷积 神经网络(CNN)模型。

导入dlpy模型函数:

>>> from dlpy import Model, Sequential
>>> from dlpy.layers import *

使用dlpy创建序列模型并将其命名为Simple_CNN

>>> model1 = Sequential(sess, model_table = 'Simple_CNN')

定义要添加到model1

的输入层
# The input shape contains RGB images (3 channels)
# The model images are 224 px in height and 224 px in width

>>> model1.add(InputLayer(3,224,224))

NOTE: Input layer added.

添加二维卷积层和池层:

# Add 2-Dimensional Convolution Layer to model1
# that has 8 filters and a kernel size of 7. 

>>> model1.add(Conv2d(8,7))

NOTE: Convolutional layer added.

# Add Pooling Layer of size 2

>>> model1.add(Pooling(2))

NOTE: Pooling layer added.

添加一对额外的二维卷积和池层:

# Add another 2D convolution Layer that has 8 filters and a kernel size of 7 

>>> model1.add(Conv2d(8,7))

NOTE: Convolutional layer added.

# Add a pooling layer of size 2 to # complete the second pair of layers. 

>>> model1.add(Pooling(2))

NOTE: Pooling layer added.

添加完全连接的层:

# Add Fully-Connected Layer with 16 units

>>> model1.add(Dense(16))

NOTE: Fully-connected layer added.

最后,添加输出层:

# Add an output layer that has 2 nodes and uses
# the Softmax activation function 

>>> model1.add(OutputLayer(act='softmax',n=2))

NOTE: Output layer added.
NOTE: Model compiled successfully 

其他资源

贡献

有什么好分享的吗?SAS欣然接受GitHub上的拉取请求!有关详细信息,请参见Contributor Agreement

许可

根据apache许可证2.0版(以下简称“许可证”)授权;除非符合许可证,否则您不能使用此文件。 您可以在LICENSE.txt

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发, 无任何明示或默示的保证或条件。请参阅许可证,以了解控制许可证下权限和限制的特定语言。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java用变化的替换字符串替换子字符串   从数据库中断中恢复的oracle Java DAL?   Android/Java页边距位于左/右/底部   java如何用相同的源代码构建不同的APK?(我发现了一个错误)   java正则表达式,仅当字符串以一行中的3个数字开头时才匹配第一个数字   使用以xml为输入的给定端点调用java中的rest-ful web服务?   java长字符串转换为UTF8引发异常   java如何使用截取方法获取ArrayList   java将计算列添加到可观察列表中   正则表达式如何在java正则表达式中使用组?   java正则表达式只接受字母表和空格,不允许在字符串的开头和结尾使用空格   java简单onclick按钮在安卓中不起作用   java如何在Spring中只实现Crudepository的特定方法?   java无法使用json对象NPE读取jsonarray   java我可以添加maven依赖项,这些依赖项被打包为除此之外的任何东西。罐子