Giter VIP home page Giter VIP logo

xingdusas / python-dlpy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sassoftware/python-dlpy

0.0 0.0 0.0 364.95 MB

The SAS Deep Learning Python (DLPy) package provides the high-level Python APIs to deep learning methods in SAS Visual Data Mining and Machine Learning. It allows users to build deep learning models using friendly Keras-like APIs.

License: Apache License 2.0

Python 100.00%

python-dlpy's Introduction

DLPy - SAS Viya Deep Learning API for Python

SAS Deep Learning Icon

An efficient way to apply deep learning methods to image, text, and audio data.

SAS Viya Version Python Version Python Version

Overview

DLPy is a high-level Python library for the SAS Deep learning features available in SAS Viya. DLPy is designed to provide an efficient way to apply deep learning methods to image, text, and audio data. DLPy APIs are created following the Keras APIs with a touch of PyTorch flavor.

Recently Added Features

  • DLPy now supports the DLModelzoo action through the use of MZModel.
  • Real-time plots for hyper-parameter tuning are available with DLModelzoo.
  • New examples are available for APIs with DLModelzoo.
  • Segmentation models can produce PNG/base64 output.
  • Additional pre-defined network architectures are available. Examples include ENet and Efficient-Net.

Prerequisites

  • You must use Python version 3.3 or greater.
  • You must install SAS Scripting Wrapper for Analytics Transfer (SWAT) for Python. You can install the package from PyPI by using the command pip install swat or from the SAS conda repository by using conda install -c sas-institute swat.
  • You must have access to a SAS Viya 4.0 environment that has Machine Learning licensed.
  • To use time series APIs, you must have access to either SAS Econometrics or SAS Visual Forecasting.
  • You must have a user login to your SAS Viya back-end. See your system administrator for details if you do not have a SAS Viya account.
  • It is recommended that you install the open source graph visualization software called Graphviz to enable graphic visualizations of the DLPy deep learning models.
  • Install DLPy using pip install sas-dlpy or conda install -c sas-institute sas-dlpy.

SAS Viya and DLPY Versions

DLPy versions are aligned with SAS Viya versions. Below is the versions matrix.

DLPy SAS Viya
1.3.x 4.0
1.2.x 3.5
1.1.x 3.4
1.0.x 3.4

The table above can be read as follows: DLPy versions between 1.0 (inclusive) to 1.1 (exclusive) are designed to work with the SAS Viya 3.4.

External Libraries

The following versions of external libraries are supported:

  • ONNX: versions >= 1.5.0
  • Keras: versions >= 2.1.3

Getting Started

To connect to a SAS Viya server, import SWAT and use the swat.CAS class to create a connection:

Note: The default CAS port is 5570.

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

Next, import the DLPy package, and then build a simple convolutional neural network (CNN) model.

Import DLPy model functions:

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

Use DLPy to create a sequential model and name it Simple_CNN:

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

Define an input layer to add to 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 a 2-D convolution layer and a pooling layer:

# 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 an additional pair of 2-D convolution and pooling layers:

# 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 a fully connected layer:

# Add Fully-Connected Layer with 16 units

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

NOTE: Fully-connected layer added.

Finally, add the output layer:

# 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 

Additional Resources

Contributing

Have something cool to share? We gladly accept pull requests on GitHub! See the Contributor Agreement for details.

Licensing

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You can obtain a copy of the License at LICENSE.txt

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

python-dlpy's People

Contributors

dlpysas avatar wenyushi avatar ethem-kinginthenorth avatar yg2288 avatar sasxianhu avatar dxq77dxq avatar xingdusas avatar chiprobie avatar kybowm avatar eusdougc avatar mcech99 avatar carolinepotts avatar adstev avatar collinux avatar bensloane avatar aistatistics avatar aviolante avatar sabisw avatar chungdz avatar shlongsas avatar arharvey918 avatar cjdinger avatar jld23 avatar priyanshu-server avatar riow1983 avatar jlwalke2 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.