DEVGRU

プログラミングと競馬予想について書きます

AWS EC2の深層学習用インスタンスのJupyter Notebookでtqdmを使えるようにする

機械学習で非常に時間のかかる処理をするとき、AWS の EC2 インスタンスを立ててその上で実行している。

AMIは深層学習用のインスタンスを用いている。

aws.amazon.com

Jupyter Notebookもプリインされている。

また、時間のかかる処理を可視化するのに便利なパッケージ tqdm があり、これも重宝している。

github.com

tqdm は Jupyter Notebookもサポートしているが、上記AMIで動かすのには一苦労あった。

結論から言えば、以下が必要だった。

conda install -c conda-forge ipywidgets nodejs jupyterlab tqdm
jupyter nbextension enable --py widgetsnbextension --sys-prefix
jupyter labextension install @jupyter-widgets/jupyterlab-manager

まず、最新版の ipywidgets , nodejs, それに tqdm をインストールする。筆者はJupyter Labを使うためそれも導入している。

次に、 ipywidgets を有効化する。これによってインタラクティブな機能が使えるようになる。

最後に、jupyterlab exntensions を有効化する。

そして、以下のようなコードでtqdmが動くようになる。

from tqdm.autonotebook import tqdm

for _ in tqdm(range(1, 100)):
  # なにか重い処理
  ...

こんな感じでプログレスバーが表示される。

f:id:katoken-0215:20190329234600p:plain

参考:

ensekitt.hatenablog.com


独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

みんなのPython 第4版

みんなのPython 第4版

Pandas で 日付の入っているカラムを年でフィルタする

競馬情報で特定の年以降のレースを絞り込むときの便利な書き方がわかったので紹介する。

dateカラム(datetime型)が2019年以降のデータを選ぶには、ストレートにするとこのような感じになる。

import datetime

data[data.date <= datetime.datetime(2019, 1, 1)]

しかし、これはコード量的にも視覚的にもイマイチわかりにくい。

以下のように書くと、分かりやすくなる。

data.query('date >= 2019`)

もし、2019年2月1日以降なら以下のように記述できる。

data.query('date >= 20190201')

ただし、このようには書けないようだ。

data.query('date >= 201902')

Pythonデータ分析/機械学習のための基本コーディング!  pandasライブラリ活用入門 (impress top gear)

Pythonデータ分析/機械学習のための基本コーディング! pandasライブラリ活用入門 (impress top gear)

  • 作者: Daniel Y. Chen,福島真太朗,吉川邦夫
  • 出版社/メーカー: インプレス
  • 発売日: 2019/02/22
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

pandasクックブック ―Pythonによるデータ処理のレシピ―

pandasクックブック ―Pythonによるデータ処理のレシピ―

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

  • 作者: Wes McKinney,瀬戸山雅人,小林儀匡,滝口開資
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/07/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Emacs + counsel/ivy + smart-hungry-delete でハマった

最近 Emacs の環境を更新して、helm から counsel/ivy に移行、またsmart-hungry-deleteも導入した。

ただ、なぜか C-x C-f でファイル一覧が出たときに上のパスに行けない(Backspaceが効かない)現象に遭遇した。

結論としては、以下が問題だった。

(global-set-key (kbd "<backspace>") 'smart-hungry-delete-backward-char)

どうやら、<backspace>が上書きされると上記の問題が発生するようだ。

global-set-key は避けて、必要なモードだけに限定して用いるようにした。

[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

仕事ですぐ役立つ Vim&Emacsエキスパート活用術

仕事ですぐ役立つ Vim&Emacsエキスパート活用術

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル

  • 作者: るびきち
  • 出版社/メーカー: 技術評論社
  • 発売日: 2011/11/26
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 220回
  • この商品を含むブログを見る