2016-12-13 5 views
1

私は現在、Tensorflowを使用して予測モデルを開発しています。私のモデルは顧客にとってうまく機能するため、実際の製品にしています。お客様のインフラストラクチャにTensorflowアプリケーションを導入

私のモデルは、時間の経過とともに顧客の入力を使用して再トレーニングする必要があり、顧客のインフラストラクチャに導入する必要があります。 (SaaSやクラウドではない)さらに、私はコードとモデルを保護したい。

私はTensorflowを理解しているので、訓練されたモデルをprotobufとしてエクスポートし、フリーズして予測に必要なノードを保持することができます。 freeze_graph.py at Tensorflow repo,私はそれを試して、Golang + libtensorflow.soランタイムを使用して予測モデルを正常に実行しました。 (または、Tensorflow Servingを使用することもできます)

私のモデルを弊社のインフラストラクチャでトレーニングすることができれば、「おい、ビールを手に入れよう」と言うことができます。しかし、私のモデルは顧客のインフラストラクチャでトレーニングされなければならず、Pythonコードがなければ、私のモデルを鍛えることはできないようです。

https://www.tensorflow.org/versions/r0.12/how_tos/language_bindings/index.html

このとき、勾配、機能および制御フロー操作(「IF」と「しばらく」)のサポートは、Python以外の言語で利用できません。これは、C APIが必要なサポートを提供するときに更新されます。

Pythonコードまたはモデルを公開せずにTFアプリを導入する回避策はありますか?前もって感謝します。

+0

難読化は十分ですか? – sygi

答えて

0

まだ訓練されていないモデルでPythonを使用することはできますが、最初にビルドするために必要なすべてのコードを公開する必要はありません。その例として、事前グラフ化されたGraphDefをロードして新しいトップレイヤーを再ロードするInception再トレーニングコードを見てみましょう。 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py

+0

いいえ、私のモデル(GraphDef protobuf)を隠すことはできません。モデルのprotobufを暗号化しても、Pythonコードを解読してトレーニングする必要があります。 –

関連する問題