iMind Developers Blog

iMind開発者ブログ

2019-08-01から1ヶ月間の記事一覧

mypyでPythonの引数や戻り値の型チェック

概要 mypyを使ったPythonでの各種型チェックの方法についてまとめる。 最近はPythonでも型指定を真面目にやっている例を見かけことが増えてきた感がある。 バージョン情報 Python3.7.3 mypy==0.720 参考URL PEP 484 -- Type Hints https://www.python.org/de…

PySparkで複数のArrayカラムをconcatする

概要 Spark2.4から複数のArrayカラムをconcatできるようになったらしいので試してみる。 https://issues.apache.org/jira/browse/SPARK-23736 バージョン情報 Spark 2.4.3 サンプルデータ サンプルデータとして、3つのArrayのカラム(名前はfoo, bar, baz)…

Pythonのchardetで文字コード判定

概要 Pythonで文字コード判定をしたくなることはよくあるので、やり方をメモしておく。 バージョン情報 Python 3.4.3 chardet==3.0.4 サンプルデータの用意 utfとsjisのファイルを生成しておく。 $ echo " イエスは身を起こして言われた。「あなたがたのうち…

Pythonでzipファイルの読み書き

概要 Pythonでzipファイルを生成したり、解凍したり、ストレージに展開せずにzipの中身を読んだり、既存のzipにファイルを追加したり等。 バージョン情報 Python 3.7.3 ディレクトリをまとめてアーカイブ 指定ディレクトリをzip圧縮する場合は shutil.make_a…

TensorFlow Liteでモデルのサイズを小さくする(v1.14.0)

概要 TensorFlow(Keras)で作ったモデルをTensorFlow Liteでコンバートする。 バージョン情報 tensorflow==1.14.0 この資料でやること TFLiteConverterには下記の4つのメソッドが用意されている。 from_frozen_graph from_keras_model_file from_saved_mode…

TensorBoardを使ってみる(v1.13.1)

概要 MNIST-fashionを例にTensorBoardで各種metrixを表示したり、画像を表示したり。 Keras利用。 バージョン情報 tensorboard==1.13.1 tensorflow==1.13.1 tf.keras.callbacks.TensorBoardの利用 tf.keras.callbacks.TensorBoard を設定しておくとmetricsの…

Pythonのresourceでスクリプトのメモリ使用量の制限

概要 resourceを使ってPythonで使うメモリにリミットをかけてみる。 指定メモリ以上を確保しようとするとMemory Errorで落ちるようになる。 バージョン情報 Python 3.7.3 psutil==5.6.3 resource.RLIMIT_DATA resource.RLIMIT_DATAはヒープサイズの上限を設…

PythonのfastavroでAvroの読み書き

概要 PythonでAvroのファイルを扱う。 avro-python3より速いと噂のfastavroを利用。 pandavroを使ったpandasとの連携も試す。 バージョン情報 Python3.7.3 fastavro==0.22.3 pandas==0.24.2 pandavro==1.5.0 インストール $ pip install pandas fastavro pan…

PillowとOpenCVで画像にテキストを追加する

概要 Pillowで画像を読み込んでテキストを表示する。ついでにOpenCVでも同じことをしてみる。 バージョン情報 Pillow==6.0.0 opencv-python==4.1.0.25 Pillowで画像の読み込みと表示 単純に画像を読み込んで表示だけするコード。 %matplotlib inline import …

spark-submit時に表示されるprogressの更新頻度を変える

概要 spark-submitした際にコンソールやweb ui、ログなどに表示されるプログレス表示。 ↑ こういうやつ 標準出力をログに落としていたらこれのせいでログサイズがデカくなり過ぎたので、更新頻度を調整してみる。 バージョン情報 Spark 2.4.3 progress周りで…