Translate

2017年8月28日月曜日

TensorFlow1.3.0 になってからTensorBoardがデフォルトでインストールされなくなった



もうタイトルで言いたいことを書いてしまったのだけど..

rcのないTensorFlow1.3.0をDockerイメージで立ち上げたのだけど
デフォルトでTensorBoardが入らなくなってしまった..

pip3 install tensorflow-tensorboard を実行すればインストールされる。


あとでRelease Noteみたら

先頭にちょこっとTensorBoardはココを見ろとか書かれていて
リンクを踏むと、いつのまにかTensorBoardだけ別プロジェクトになってて
ReleaseNoteが個別になっていた..


TensorBoardは別のpipパッケージtensorflow-tensorboard[1]としてリリースされました。 TensorFlowはこのパッケージに依存しているため、ユーザの操作は必要ありません。 TensorBoard 0.1.xシリーズはTensorFlow 1.3.xに対応しています。


..しっかり英語のドキュメントを読みなさいってことね..


..にしても、TesnorFlowのBrainチームって、日本人には冷たいねえ..


 以下、TensorBoard0.1.4ののこりのReleaseNoteドキュメントを勝手翻訳したものです。
翻訳内容at your own riskで参照してください。
--------

機能


  • TensorBoardには完全な機能を備えたプラグインシステムが追加されました。 既存のファーストパーティのダッシュボードはこのAPIを使用するように変換されているため、任意のサードパーティのプラグインよりも特権がありません。 詳細は https://github.com/tensorflow/tensorboard-plugin-example をご覧ください。
  • ビジュアライゼーションのページが変更され、大規模なデータセットによるCPUのロックが防止されます。
  • 私たちは現在、色盲ユーザにとってより使いやすくなっています。 彼の助けを借りて Paul Tol に感謝します。 #288を参照のこと
  • グラフエクスプローラで、TensorFlow関数(function.Defun)を表すノードを展開できるようになりました。
  • グラフエクスプローラでは、モデルがテンソル処理単位で実行できるかどうかを明確にするTPU互換性によってノードを色付けできます。
  • メインメニューにはアクティブなダッシュボードしか表示されないため、混乱が少なくなり、特に小さな画面で役立ちます。 



バグ修正と改善


  • TensorBoardは、より少ないHTTP要求で、ネットワーク経由でより高速にロードされるようになりました。
  • スムージングが無効になっている場合、スカラーチャートのツールチップに誤解を招くような値が表示されることはなくなりました。
  • 画像ダッシュボードには、実際のサイズで画像を表示するためのダッシュボード全体の切り替えが用意されました。
  • グラフエクスプローラからグラフをダウンロードすると、小さな画像が表示されなくなりました。
  • ログ出力がより良くなりました。


 既知の問題点


  • 関数 tensorboard.util.encode_wav とモジュール tensorboard.plugins.audio.summary は最新のNightlyバージョンのTensorFlowに依存し、TensorFlowバージョン1.3.0では動作しません。

[1] 将来的にPyPi上でtensorboardという名前に変更されます。 いまのところはtensorflow-tenmsorboardでインストールしてください。

2017年8月22日火曜日

DockerコンテナでTensorFlow環境上げる場合、ホスト側はNVIDIAドライバだけで良いことに気づく

TensorFlowが1.3.0正式版になっとる..
しかもCUDA Toolkitのバージョンが5.1では動かないらしい..

環境をつくりなおさんと..
と思っていたらちょうど
他部署で使用していない Telsa K20c搭載マシンが余ったので
使わせてもらうことになった。

Ubuntu Server 16.04 LTS を最小構成+OpenSSH Serverでインストールして
以下のNVIDIAサイトでドライバをダウンロードする。

NDIVIAドライバダウンロードサイト:
http://www.nvidia.co.jp/Download/index.aspx?lang=jp

製品のタイプ:Telsa
製品シリーズ:P-Series
製品ファミリ:Telsa P100
OS:Linux 64-bit Ubuntu 16.04
CUDA Toolkit: 8.0
言語: Japanese


で検索、上記K20cではないが製品サポートリストに "Telsa K20c" があることを確認。

deb ファイルが落とせるようになるのでこれを落とす。
そして追加情報タブに書かれた手順でドライバをインストールする。


このあとcuDNN..と思ったのだけど、NVIDIAのサイトで以下のページを見つけた。


GPU を搭載した Docker コンテナ
http://www.nvidia.co.jp/object/docker-container-jp.html

どうも
https://github.com/NVIDIA/nvidia-docker
README.mdを日本語訳したものらしい..

で、絵をあらためて眺めてみると..

nvidia-docker環境だったら、
ホスト側 CUDA Dirverまででいい

ことに今頃気づく!


TensorFlowのバージョンでcuDNNのバージョン指定があったりするけど
Dockerコンテナで動作させている限りcuDNNは無視して良いわけだ..


..やっぱり、Dockerコンテナだな、TensorFlow動かすのは..


2017年8月8日火曜日

TensorFlow Serving 1.0 リリースのブログ記事を翻訳してみた


今朝、Twitterをみると、こんな記事がながれてきた。


ので、ちょっと翻訳してみることにした。
参照の場合はat your own risk でお願いします。

r0.12のころに読んだServingは、
訓練サーバと予測サーバ(プロダクト側)をgRPCでつなぐ実装例みたいに
とらえていたのだけど、1.0ってことはそのあたりの仕組みもTesnorFlowで
もってくれるってことなのかもしれない。

とりあえず、読んで見る。
----

TensorFlow Serving 1.0


Kiril Gorovoy, ソフトウェアエンジニア

TensorFlow Servingは、プロダクト環境向けに設計された機械学習モデル用の高性能サービングシステムで、2016年2月の最初のオープンソースリリース以来、我々は長い道のりを歩んできました。今日、TensorFlow Serving 1.0のリリースをお知らせいたします。 バージョン1.0は、TensorFlow 最新版以降のバージョンで構築されています。

システムの概要については、Google I / O 2017のNoah Fiedelの講演をご覧ください。



プロジェクトを最初にセットアップしたとき、モデルのライフサイクルを管理し、推論要求を処理するためのコア機能を提供する一連のライブラリでした。 その後、Predict APIを使用したgRPC Model Serverバイナリと、Kubernetesに展開する方法の例を紹介しました。 それ以来、さまざまなユースケースに合わせて機能を拡張し、ユーザーのニーズを満たすためにAPIを安定させるように努めました。 現在、Googleでは、TensorFlowサービングをプロダクションで使用する800以上のプロジェクトがあります。 安定した、堅牢で高性能な実装でサーバーとAPIをテストしました。

apt-get installを使って、事前ビルドされたバイナリを入手することができました。 さて、TensorFlowを使い始めるには、コンパイルに時間を費やすことなく、簡単にインストールして実行できます。 いつものように、Dockerを使って、Linux以外のシステムにLinuxサーバーをインストールすることができます。

このリリースでは、TensorFlow Servingも従来のSessionBundleモデルフォーマットのサポートを正式にdeprecateし、中止しています。 SavedModelでは、TensorFlow 1.0の一部としてのTensorFlowのモデル形式が正式にサポートされた形式になりました。

開始するには、プロジェクトとチュートリアルのドキュメントを参照してください。 TensorFlow 1.0をお楽しみください!


-----
aptだけでなくDockerfileも公開したよ、ということでのぞいてみたけど..

SavedModel云々のくだりから推測するに、どうもr0.12のころからは実装が変わっている様子だが..

ためしてみるか..

なお、上のDockerリンクはCPUのみ版で、GPU版もちゃんとあるようだ。




既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...