Azure Notebookを試してみた

機械学習をどこでやってますか?

これまでの機械学習本では、自分のローカルマシンに環境を構築してやっていたけど、ローカルでやるということは、使うマシンごとに環境を構築してというのが意外に面倒になるような気がしていました。一方で、先日やっと完走したGoogle Cloudの機械学習のコースでは、それとは逆にすべてをクラウド側に置くというやり方になっており、ある程度大きなモノを扱う場合は、こっちなんだろうなとアタマで理解したものの、GCPのデータラボの立ち上げにあれだけ時間が掛かってしまうと、これは手軽ではないなというのと、GCPのフリートライアル期間1年が終了してしまったので、どうしたもんかなと思っていたところに、丁度良さげな環境を見つけました。
notebooks.azure.com
これです。それを早速試してみたというおはなしです。

Try it now!

試すだけタダということで、早速やってみました。自分の場合、Microsoft Accoutを持っていたので、それに紐付けて自分の環境をサクッと作ってしまいました。

f:id:deutschina:20190504152645p:plain
Azure Notebook の最初の画面

お試しの中には、いくつかサンプルが入っているので、ひとまずComparing Machine Learning Modelsといういかにもそれっぽいものを選んでみることにしましょう。

f:id:deutschina:20190504154119p:plain
適当なサンプルを見てみよう

Githubと同じようにCloneボタンがあるので、自分の環境に持ってきて弄ってみれば良さそうです。

f:id:deutschina:20190504154150p:plain
クローン

適当なプロジェクト名を付けてクローンします。

f:id:deutschina:20190504154226p:plain
自分の環境へ

クローンしてきたものの1つを開いてみましょう。

f:id:deutschina:20190504154243p:plain
見たことある画面が。。。

ここまで来れば、もう見慣れたもんですね。

f:id:deutschina:20190504154918p:plain
ノートの画面

気になるところは?

サクッと触ってみた限りでは、GCPのデータラボより手軽に使えるし、これまでローカルで動かしていたものより、少しだけモッサリしている感もなくはないですが許容範囲ですね。ちなみに、Anacondaに入っているものは一通り入っているとのことで、環境構築に時間を取ることもなさそうです。

気になるお値段については、FAQのところにこう書いてあります。

Is it really free? What's a catch?
Currently the service itself is free. This may change in the future, but we hope to always have a free tier available.

いつかは有料になるかも知れないけど、それでも無料プランを用意するつもりとのこと。

ということで、普通に使う限りにおいては、こちらを使おうかなという気になっています。

Apple iPad?Pro (12.9インチ, Wi-Fi, 256GB) - シルバー

Apple iPad?Pro (12.9インチ, Wi-Fi, 256GB) - シルバー

機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 (オライリー・ジャパン)

機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 (オライリー・ジャパン)

無邪気にPythonを3.7に上げたらTensorflowが使えなくなった問題

タイトルの通りで、Python 3.7(Anaconda)をアップグレードしたら、TensorFlowが使えなくなった、いや正確に言うとTensorFlowのインストールが出来なくなったという問題の顛末を書いておきます。ちなみに使っている環境はMac OS X Mojaveです。

pip install tensorflow

だとエラーになるので、代わりに

pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl

とやると、インストールは出来ました。正式リリースがいつ出るんじゃい?というのが半年ぐらい続いているようなので、本当はPythonを勢いで上げずに3.6でもう少しとどまっているのが正解だと思います。

一応、フルのログを残しておきます。

$ pip --version
pip 18.1 from /Users/xxxxxx/anaconda3/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.1
$ pip install tensorflow
Collecting tensorflow
  Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow
$ pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl
Collecting tensorflow==1.12.0 from https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl
  Downloading https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl (62.0MB)
    100% |████████████████████████████████| 62.0MB 376kB/s 
Collecting keras-applications>=1.0.6 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/90/85/64c82949765cfb246bbdaf5aca2d55f400f792655927a017710a78445def/Keras_Applications-1.0.7-py2.py3-none-any.whl (51kB)
    100% |████████████████████████████████| 61kB 7.7MB/s 
Collecting keras-preprocessing>=1.0.5 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/14/8d/443591dd9f42cdde966a14ea2d59e7a781b77a8f09652288af61bec93b81/Keras_Preprocessing-1.0.8-py2.py3-none-any.whl (59kB)
    100% |████████████████████████████████| 61kB 10.9MB/s 
Requirement already satisfied, skipping upgrade: wheel>=0.26 in ./anaconda3/lib/python3.7/site-packages (from tensorflow==1.12.0) (0.32.3)
Collecting grpcio>=1.8.6 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/cd/9d/e707b8a041171ca436c066a544f59a090a700c6742f323a074fc5989297f/grpcio-1.18.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.8MB)
    100% |████████████████████████████████| 1.8MB 12.5MB/s 
Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in ./anaconda3/lib/python3.7/site-packages (from tensorflow==1.12.0) (1.15.4)
Collecting tensorboard<1.13.0,>=1.12.0 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/07/53/8d32ce9471c18f8d99028b7cef2e5b39ea8765bd7ef250ca05b490880971/tensorboard-1.12.2-py3-none-any.whl (3.0MB)
    100% |████████████████████████████████| 3.1MB 6.3MB/s 
Collecting protobuf>=3.6.1 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/18/e7/785830a65d1f1faba7dccfa8314f7afded1db8cc2860218226ba4b3f6150/protobuf-3.6.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (1.2MB)
    100% |████████████████████████████████| 1.2MB 13.3MB/s 
Collecting gast>=0.2.0 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz
Collecting termcolor>=1.1.0 (from tensorflow==1.12.0)
  Using cached https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz
Collecting astor>=0.6.0 (from tensorflow==1.12.0)
  Using cached https://files.pythonhosted.org/packages/35/6b/11530768cac581a12952a2aad00e1526b89d242d0b9f59534ef6e6a1752f/astor-0.7.1-py2.py3-none-any.whl
Collecting absl-py>=0.1.6 (from tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/31/bc/ab68120d1d89ae23b694a55fe2aece2f91194313b71f9b05a80b32d3c24b/absl-py-0.7.0.tar.gz (96kB)
    100% |████████████████████████████████| 102kB 16.6MB/s 
Requirement already satisfied, skipping upgrade: six>=1.10.0 in ./anaconda3/lib/python3.7/site-packages (from tensorflow==1.12.0) (1.12.0)
Requirement already satisfied, skipping upgrade: h5py in ./anaconda3/lib/python3.7/site-packages (from keras-applications>=1.0.6->tensorflow==1.12.0) (2.8.0)
Collecting markdown>=2.6.8 (from tensorboard<1.13.0,>=1.12.0->tensorflow==1.12.0)
  Downloading https://files.pythonhosted.org/packages/7a/6b/5600647404ba15545ec37d2f7f58844d690baf2f81f3a60b862e48f29287/Markdown-3.0.1-py2.py3-none-any.whl (89kB)
    100% |████████████████████████████████| 92kB 18.0MB/s 
Requirement already satisfied, skipping upgrade: werkzeug>=0.11.10 in ./anaconda3/lib/python3.7/site-packages (from tensorboard<1.13.0,>=1.12.0->tensorflow==1.12.0) (0.14.1)
Requirement already satisfied, skipping upgrade: setuptools in ./anaconda3/lib/python3.7/site-packages (from protobuf>=3.6.1->tensorflow==1.12.0) (40.6.3)
Building wheels for collected packages: gast, termcolor, absl-py
  Running setup.py bdist_wheel for gast ... done
  Stored in directory: /Users/ken/Library/Caches/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd
  Running setup.py bdist_wheel for termcolor ... done
  Stored in directory: /Users/ken/Library/Caches/pip/wheels/7c/06/54/bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6
  Running setup.py bdist_wheel for absl-py ... done
  Stored in directory: /Users/ken/Library/Caches/pip/wheels/90/db/f8/2c3101f72ef1ad434e4662853174126ce30201a3e163dcbeca
Successfully built gast termcolor absl-py
Installing collected packages: keras-applications, keras-preprocessing, grpcio, markdown, protobuf, tensorboard, gast, termcolor, astor, absl-py, tensorflow
Successfully installed absl-py-0.7.0 astor-0.7.1 gast-0.2.2 grpcio-1.18.0 keras-applications-1.0.7 keras-preprocessing-1.0.8 markdown-3.0.1 protobuf-3.6.1 tensorboard-1.12.2 tensorflow-1.12.0 termcolor-1.1.0
$ 

scikit-learnとTensorFlowによる実践機械学習

scikit-learnとTensorFlowによる実践機械学習

PythonとKerasによるディープラーニング

PythonとKerasによるディープラーニング

年末年始の読み物

この年末年始に読んだ本たち。

 

サブスクリプション――「顧客の成功」が収益を生む新時代のビジネスモデル

サブスクリプション――「顧客の成功」が収益を生む新時代のビジネスモデル

 

少し前にZuoraという会社のことを知り、その創業者の本ということでポチってみた。昨今のDigital Transitionsの流れに乗っている本だし、ビジネスが変革するための痛みにも触れていて、理想だけにとどまらないのが好印象。

 

Why Digital Matters? ~ “なぜ

Why Digital Matters? ~ “なぜ"デジタルなのか~

  • 作者: 村田聡一郎/SAPジャパン,プレジデント経営企画研究会
  • 出版社/メーカー: プレジデント社
  • 発売日: 2018/12/13
  • メディア: 単行本
  • この商品を含むブログを見る
 

う〜ん。前半はいい感じだったのにな。最後の第8章に「新常識」とか言いながら20年ぐらい前から言ってる陳腐な事出してきて一気に興ざめ。

 

デジタル革命時代における保険会社経営

デジタル革命時代における保険会社経営

 
The INSURTECH Book: The Insurance Technology Handbook for Investors, Entrepreneurs and FinTech Visionaries

The INSURTECH Book: The Insurance Technology Handbook for Investors, Entrepreneurs and FinTech Visionaries

  • 作者: Sabine L.B VanderLinden,Shân M. Millie,Nicole Anderson,Susanne Chishti
  • 出版社/メーカー: Wiley
  • 発売日: 2018/07/11
  • メディア: ペーパーバック
  • この商品を含むブログを見る
 

Fintechの次はInsurtechでしょということで。保険もSubscriptionビジネス的な側面もあるから、これから伸びて来るんじゃないかと想像(妄想)。

 

今年は今後に向けて種を蒔く時期という位置付けなので、芽が出てくるといいなぁ。

 

充電器問題いろいろ

MagsafeとMagSafe2問題

 

年末年始用にゴニョゴニョできるように東京の家からMBP(Early 2013)を実家に持って帰ってきているのですが、電源アダプタは実家にMacbook Air(2011)があるので必要ないなと思って、あえて持参しなかったのです。

 

バッテリ残量が2割ほどになって、さて充電しようかなと、実家の古いMBAの電源アダプタを引っ張りだして、MBPに挿そうとした瞬間…

 

・・・あれ、形違うじゃん

 

最近のMacはUSB Type-Cになってというのは覚えていたものの、MagSafeにも1と2がある事を完全に忘れていたのです。東京の家に取りに帰るのも面倒なので、解決策を探してみたところ、こんなのがありました。

 

Apple MagSafe-MagSafe2コンバータ MD504ZM/A

Apple MagSafe-MagSafe2コンバータ MD504ZM/A

 

 

たまたま未使用のApple Gift Cardがあったので、実質無料でゲット。実際に装着してみるとこんな感じ。

 

f:id:deutschina:20181231085056j:image

 

急場凌ぎならこれで十分だね。

 

USB-C統一への道は遠い?

別ネタですが、充電器の話をもう一つ。最近USB系で充電するガジェットが増えてきたので、これでまとめてみました。

 

USB-Cが1ポート用意されていますが、これは実家用に買ったiPad Pro用。残りの4つはClovaや他のガジェット用。電源コンセント周りがスッキリしました。

 

f:id:deutschina:20181231090758j:image

 

お役御免となった?充電器のアタマたち。

 

実家のネット環境をもっと快適に

年末で実家に帰ってきてますが、光回線を引いているわりに、時々WiFi接続が途切れたりしてからの何だかイマイチ。原因は完全に特定できていないものの、WiFiルーターを設置しているのが、実家の建物の2階の隅にあって、1階の中央にある居間では受信状態が良くないのではと想像して、コイツを導入してみました。

 

 

これで、実家のネット環境も快適!と言いたかったのですが、一筋縄で行かなかったので顛末を書いておこうと思います。

 

すべてはWiFiルーターの交換から始まってた

実は中継器を入れる前に、そもそも古くなったWiFiルーターの切り替えを春ごろに行なっていたのです。

 

この切り替えをやった時に、初期設定ガイドに促されるまま、これまでと同じSSIDが使えるから良いやと深く考えずに自動引っ越し設定というのを使って移行してしまったのがケチのつき始め。せっかく5GHzのネットワークが使えるのに、移行されたのは2.4GHzだけだということに最近まで気づきませんでした。

 

WPS何それ美味しいの?

中継器を買ってきて、これまた自動設定ができるということでWPSを使って設定してみたところ、なんとなく設定できて動くんだけど、しばらくすると接続が途切れることが頻発。説明書やネットに転がっている情報を見てみると、WiFiルーターから出ているSSIDとは別に中継器が独自に出しているSSIDが出ているとのことで、そちらを明示的に選択してみると、しばらくすると勝手にWiFiルーターが出しているSSIDに切り替わっている。何でだろうと思って、中継器を見てみると、親機(WiFiルーター)との接続を示すランプが消灯している。親機を再起動すると復活するんだけど、これでは意味がない。

 

 WiFiについては素人ではないので、いっそのこと親機、中継器ともにマニュアルで再設定することに。こうやっていくうちに原因が炙り出されてくるのではないかと思って。。。

 

常識を疑え

自分でマニュアルで再設定をしてみたけど、残念ながら結果は同じ。再びネットにお世話になると、親機と子機(中継器)の間の接続が不安定な場合に発生する現象らしい事は判明。中継器の側面には2.4GHzと5GHzを切り替えるスイッチがあって、この時点での設定は2.4GHz側になっていました。

 

我が家の場合、親機は2階、子機は1階にあるので途中の障害物が多く、障害物に強いのは2.4GHzだし、そもそも初期設定マニュアルでも、初期設定には2.4GHzにしておけと書いてあるので、無条件にそれに従っていました。でも、敢えて5GHz側にするとどうなるのかなと試してみることに。

 

f:id:deutschina:20181229134618p:image

 

本体横の2.4GHz/5GHz切り替えスイッチを5GHz側に切り替えて再設定して、再起動した後に状態をチェックしてみると上のような感じに。2.4GHzのときは、左側のアンテナマークも3本表示されていて良い感じだったけど、5GHzに変えると感度が下がって2本表示になってしまいました。

 

こりゃ失敗したなと思ったものの、しばらく使っていても接続が途切れることはなくなりました。5GHzの方が障害物に弱いという先入観を持ちすぎていたのかも知れませんね。これで、ひとまずネットの接続は家のどこに居ても安定するようになりました。

 

めでたしめでたし。