Tag: Developers

Machine Learning | Programming Tips
Makoto Unemi (畝見 真) 0
SAS Viyaにディープラーニングが登場! さっそく画像分類してみた。

SAS Viyaがリニューアルされまして、ついにディープラーニングが登場しました! SAS ViyaのディープラーニングではオーソドックスなDeep Neural Network(DNN)から、画像認識で使われるConvolutional Neural Network(CNN、畳込みニューラルネットワーク)、連続値や自然言語処理で使われるRecurrent Neural Network(RNN、再帰的ニューラルネットワーク)まで利用可能になります。 ディープラーニングを使うことのメリットは、従来の機械学習やニューラルネットワークが苦手としている画像や文章を認識し、高い精度で分類や推論することが可能になります。 高い精度というのは、ディープラーニングのモデルによっては人間の目よりも正確に画像を分類することができるということです。 例えばコモンドールという犬種がありますが、この犬はモップのような毛並みをしていて、人間ではモップと見間違えることがあります。 これは犬? それともモップ? こういう人間だと見分けにくい画像に対しても、ディープラーニングであれば、人間よりも正確に犬かモップかを見分けることができるようになります。 というわけで、今回はSAS Viyaのディープラーニングを使って画像分類をしてみたいと思います。 ディープラーニングの仕組み 画像分類のディープラーニングではCNNを使います。 CNNは画像の特徴を探し出す特徴抽出層と特徴から画像を分類する判定層で構成されています。   特徴抽出層は主に畳込み層とプーリング層で構成されています。 畳込み層で入力画像に対し、ピクセルの特徴(横線の有無とか斜め線とか)を探し出し、プーリング層で重要なピクセルを残す、という役割分担です。 判定層は、特徴抽出層が見つけた特徴をもとに、画像の種類を分類します。 例えば犬と猫の分類であれば、特徴抽出層が入力画像から、面長で大きな鼻の特徴を見つけだし、犬と分類します。   または、丸っこい顔立ちと立った耳の特徴を見つけだし、猫と分類します。   SAS Viyaで画像を扱う SAS ViyaディープラーニングでCifar10をネタに画像分類をしてみたいと思います。 Cifar10は無償で公開されている画像分類のデータセットで、10種類の色付き画像60,000枚で構成されています。 各画像サイズは32×32で、色はRGBです。 10種類というのは飛行機(airplane)、自動車(automobile)、鳥(bird)、猫(cat)、鹿(deer)、犬(dog)、蛙(frog)、馬(horse)、船(ship)、トラック(truck)で、それぞれ6,000枚ずつ用意されています。 画像は総数60,000枚のうち、50,000枚がトレーニング用、10,000枚がテスト用です。   画像データは以下から入手することができます。 https://www.cs.toronto.edu/~kriz/cifar.html さて、Cifar10を使って画像分類をしてみます。言語はPython3を使います。 SAS Viyaで画像分類をする場合、まずは入手したデータをCASにアップロードする必要があります。 CASはCloud Analytics Servicesの略称で、インメモリの分散分析基盤であり、SAS Viyaの脳みそにあたる部分です。 SAS Viyaの分析は、ディープラーニング含めてすべてCASで処理されます。 CASではImage型のデータを扱うことができます。 Image型とは読んで字のごとくで、画像を画像フォーマットそのままのバイナリで扱えるということです。

Advanced Analytics | Programming Tips
Ryan Lolli 0
Tip and tricks to promote CAS tables from session-scope to global-scope

When loading data into CAS using PROC CASUTIL, you have two choices on how the table can be loaded:  session-scope or global-scope.  This is controlled by the PROMOTE option in the PROC CASUTIL statement. Session-scope loaded proc casutil; load casdata="model_table.sas7bdat" incaslib="ryloll" outcaslib="otcaslib" casout="model_table”; run; Global-scope loaded proc casutil; load casdata="model_table.sas7bdat"

Artificial Intelligence
PythonからSASの画像処理機能を使って画像マッチング

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 セッション内では、皆様にとってもお馴染みの「浅草雷門」の写真を使った画像マッチングのデモも紹介しました。雷門を正面から撮った写真の中から、「雷門の提灯」の部分を切り出し、これをテンプレート画像として使用し、この「雷門の提灯」が写っている写真だけを画像マッチングによって見つけ出すというデモです。 さあ、ちゃんと「雷門の提灯」が写っている写真だけを見つけ出すことができたのでしょうか? 以下は、Jupyter Notebookを使用し、PythonからSAS の画像処理機能を活用してマッチングを実行した結果です。(コードの一部抜粋) 【ライブラリのインポート】 In [16]: # import libraries import swat import matplotlib.pyplot as plt import os import json import numpy as np 【テンプレート画像「雷門の提灯」のロード】 In [24]: # load an image to cas r = conn.image.loadImages(casout={"caslib":"casuser", 'name':tmp_file_data[0], 'replace':True}, path=tmp_file_path) tmpTable = conn.CASTable(tmp_file_data[0]) 【この画像にマッチングさせます】 【マッチング対象画像のロード】

Analytics
Pythonで操るSASの画像処理技術入門編

5月23日に開催されたSAS Forum Japan 2017の「SAS Viyaディープダイブ」セッションでは、SASのAIに搭載されている画像処理機能が入門レベルとして紹介されました。 従来からSASを活用されている方々にとっては、「SAS」と「画像処理」って、なかなか結びつかないのではないでしょうか? 「画像処理技術」に関して、SASではどのようなアプローチをとってきているのか...を、過去、現在、そして未来に分けて紹介しています。 詳細(スライド内容)に関しては、以下をご覧ください。(SlideShareに公開済み) Pythonで操るSAS Viyaの画像処理技術入門編 from SAS Institute Japan   詳細(講演ビデオ)に関しては、以下をご覧ください。(YouTubeに公開済み)

Machine Learning
Python, Rで使うSAS Viya!

みなさま、SAS Viyaはご存知でしょうか? SAS ViyaはSASが2016年末に出した新データ分析プラットフォームでして、データの探索、整形から機械学習まで、幅広くデータ分析することができる万能品です。 こんな感じのロゴです。 SAS Viyaの特徴にインメモリエンジンによる分散処理とオープンというものがあります。 SAS Viyaでのデータ分析はすべてCASというエンジンで実行されるのですが、このCASはサーバのメモリ上にデータをロードし、分析処理が展開されます。しかも複数サーバ構成でも良い感じにスケールして並列分散処理するので、1台のサーバにデータが乗らないとか、1台だけだと遅いとかいうことはありません。   SAS Viyaの特徴 さらにSAS Viyaはオープンな特徴があります。 どうオープンなのかというと、実は裏表なく嘘のつけない性格・・・というわけではありません。 SAS ViyaはSAS言語のみならずPythonやR、Java、LuaそしてREST APIといったさまざまな言語で操作することができるオープン性を持っています。 従来のSAS製品だとSAS言語を覚えないと使うことができなかったのですが、SAS Viyaでは多くのデータサイエンティストさんが使っているPythonやRでデータ分析ができます。しかも同じプラットフォームでデータ分析するので、言語間で違う結果が出るということはありません。同じ設定で分析すれば、どの言語を使っても同じ結果が返ってきます。 さらにいえばPythonやRでデータ分析するときも、多くの場合は1台のサーバやパソコンで処理すると思います。そのさい、サーバやパソコンはCPUやメモリのすべてをデータ分析に割くということはありません。マルチコアCPUを使っていても、大体はシングルコアで処理されます。 しかしSAS Viyaではリソースを使い切ります。4コアであれば4コア、サーバ3台構成であれば3台を余さず使って、より速く効率的に分析します。 全体像でいうとこんな感じです。 どうやって使うの? PythonやRでSAS Viyaを使いはじめるときは、まずはSWATというOSSを導入する必要があります。 SWATはSpecial Weapon and Tacticsの略・・・ではありません。 SAS Scripting Wrapper for Analytics Transferという、SAS Viyaを操作するためのラッパーです。SASが作って、GitHubで公開しています。 Python SWAT https://sassoftware.github.io/python-swat/index.html R SWAT https://github.com/sassoftware/R-swat これらをpip installやinstall.packagesで入手して使いはじめることができます。 SWATはWindows、Linux、MacOSいずれもサポートしていますので、お好きなプラットフォームに導入できます。 Pythonでのプログラミング例はこんな感じです。たったこれだけで、SAS Viyaを使って決定木モデルを作ることができます。とても簡単です。 #

Advanced Analytics
Edoardo Riva 0
Let’s talk about Microservices

Microservices are a key component of the SAS Viya architecture. In this post, I’ll introduce and explain the benefits of microservices. In a future post we’ll dig deeper into the microservices architecture. What are microservices? When we look at SAS Viya architecture diagrams, we can find, among the new core components,

1 3 4 5