無邪気に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の方が障害物に弱いという先入観を持ちすぎていたのかも知れませんね。これで、ひとまずネットの接続は家のどこに居ても安定するようになりました。

 

めでたしめでたし。

Google Pay : Pixel3でSuicaにチャージできるようになるまでの顛末

約2年前にiPhone7 Plusにしてから、Apple Payを使い始めて、毎日の通勤でSuica、ちょっとした買い物にiDを使っています。個人的には使った記録の残らない現金よりも、きちんと使用した履歴の残るそれ以外の決済で済ませたいと考えています。

 

今回、Pixel3にする事の最大のネックが、このSuica/iDの決済が使えるかというところですが、Pixel3ではSuicaが使えるという事で、とりあえず見切り発車したことにより、色々ドツボにハマった話を整理しておきます。

 

iDは使えない・・・

最初に早々に諦めた方から。いわゆるpost payでGoogle Payで対応しているのは、Quickpayだけ。手持ちのカードにQuickPayに対応したものがなかったので、残念ながら諦めるしかありませんでした。iPhone7Plusの時もiDなんて使わないよなと思いつつ、一旦設定してしまうと、ちょっとした買い物で現金出すときに面倒だったりするので、便利なことこの上ない。今後のアップデートに期待しつつも、ここは妥協するしかなさそうです。

 

Suicaにチャージできないんですけど

iDは無理でも、Suicaが使えればいいやと言うことで、Google PayからSuicaを追加してみました。Suicaを追加するときに、メールアドレスを指定するんだけど、(これはGoogle Pay側でなく)Suica側の制約で同一メールアドレスでの登録を受け付けてくれない。

 

自分の場合、Pixel3に紐付けたGoogle AccoutのメールアドレスをiPhone 7 PlusSuica登録をするときに使ってしまっていたので、エラーが帰ってきた時は一瞬たじろいだけど、これについてはGmailエイリアスを使えば別アカウントを取らなくても大丈夫なので問題なし。

 

ところが、iPhoneと同じようにクレジットカードからチャージしようとすると、こんな画面が出続けてしまいました。

f:id:deutschina:20181107070304j:plain

認証エラーの画像

このエラーについて、ググってみるとだいたい2つの方法で解決できると、だいたい2つの方向性があるようです。1つは、某掲示板でもテンプレート化されているこの方法。

Google Pay アプリが最新の状態か確認する

  1. Google Play ストアを開きます。
  2. 画面左上のメニューボタン[≡]をタップします。
  3.  [マイアプリ&ゲーム] をタップし、Google Pay アプリを更新できるか確認します。
  4. 更新があれば、Google Pay のアプリをアップデートします。
  5. 端末を再起動します。

支払い方法を削除をし、Google Play ストアから再度登録をしていただく

  1. payments.google.com にログインをしていただき、問題の発生しているお支払い方法を削除をしていただきます。
  2. Google Play ストアを開きます。
  3. 画面左上のメニューボタン[≡]をタップします。
  4. [アカウント情報] をタップをしていただきます。
  5. [お支払い方法] をタップをしていただきます。
  6. [クレジットカードまたはデビットカードを追加] をタップをしていただきます。

 これか、「数日放置したらチャージできるようになった」のパターンです。

 

自分の場合、この両方でもダメだったのでGoogleのサポートにメールで問い合わせてみました。細かいやりとりは書きませんが、だいたいこんな流れでした。

 

  1. G: 上に貼ったテンプレの方法を試してみてちょ。ダメなら連絡ちょうだい
  2. 自: ダメだったよ。どうしたら良い?
  3. G: 24時間待ってみて。それでダメなら連絡ちょうだい。その時に斯く斯く云々の情報を合わせて教えてね。
  4. 自: ダメ。斯く斯く云々。
  5. G: 専門部署に問い合わせるから待ってちょ

最後の連絡から約3日ほど経ったところ、何の連絡もないものの突如チャージが出来るようになりました。推測するに、何らかのロックがかかっていたのを手で外したのでしょう。これは、あくまで推測ですが、自分の場合登録していたカードが2018年3月に一回期限切れになり、その情報がカード情報を更新した後も引き継がれていてブロックされていたのでは?となんとなく思っています。

 

いずれにしても、Suicaが使えるようになったので、とりあえず2台持ちを続けなくても良くなりそうです。

 

めでたしめでたし。

 

※ここから2018/12/02追記 

後日談があるよ 

この話には後日談があります。Googleサポートに問い合わせて1週間以上経った頃か、こんなメールが。

 

Google サポート チーム ○○○ でございます。

 

これに、チャージできるようになりましたと返信したら、調査してくれなくなるような気がしたので、そのまま放置していたら、先方は先方で返事ないので調査や〜めたというステータスになった模様。