Oracle FunctionsでTensorFlowを使用して簡単な画像分類を実行します。
Oracle Functionsって?という方はこちら。
↓のフリーの猫の画像(cat.jpg)をファンクションで分類関数に渡してみます。
前提
Oracle Functions開発、実行環境が構築されていること。
⇒・Oracle Functionsセットアップ
ファンクションを用意
今回こちらを使用します。
https://github.com/abhirockzz/fn-hello-tensorflow
Oracle Functions開発用サーバにて作業します。
ソースをクローン
git clone https://github.com/abhirockzz/fn-hello-tensorflow.git
移動
cd fn-email-deliver
OCIコンソールでPhoenixリージョン、Oracle Functionsの画面に遷移します。
https://console.us-phoenix-1.oraclecloud.com/functions
Create Applicationより
NAME: fn-email-app
VCN: Fn用に作成したVCN
SUBNETS: PHX-AD-1から3まで選択
上記で「create」を押します。
デプロイ
※TensorFlowバージョン1.12.0を使用する場合
fn -v deploy --app fn-tensorflow-app
※TensorFlowバージョン1.11.0を使用する場合
fn -v deploy --app fn-tensorflow-app --build-arg TENSORFLOW_VERSION=1.11.
そして猫の画像(cat.jpg)をサーバまで転送します。
ファンクション実行
cat.jpgをcatでファンクションに渡します。
# cat cat.jpg | fn invoke fn-tensorflow-app classify
すると↓と表示されました。
"This is a 'tabby' Accuracy - 67%"
tabbyって何???
すごいですね!ただの猫じゃなくて、とら猫ってところが。
こんなおもしろいこともOracle Functionsでできます。
今回は遊びみたいなもので、もう少し実用的なものも載せていきます。
関連記事
・Oracle Functionsに関するメモ
・Oracle Functionsセットアップ
・Oracle FunctionsでAPEXのRestful Serviceと連携
・Oracle FunctionsでEmail Deliveryと連携しメール送信
・Oracle FunctionsでObject Storage操作
・Fn Project - Fn Server構築 (Oracle Linux7.6)
・Oracle FunctionsでOCI Go SDKを使いインスタンス操作