Python

Python

pandasで重複した複数行の平均値を取る

ミリ秒単位の時系列データを扱っていた時、秒単位で集計した際に重複する時間が複数発生した。 同じ時間の値は平均値を取りたくなったが、dupulicatedやdrop_duplicatedでは上手く出来なかった。 以下の書籍の405ページから始...
Python

Google colabのpandasでError: Unsupported Pickle Protocol 5

ローカルマシンで作成したpickleをColabで読み込もうとしたときに表題のエラー。 # ローカルマシン df.to_pickle("df.pickle") # Colab df = pd.read_pickle("df.pickle")...
Python

PythonでArduinoからJSONをシリアル通信で受け取る

Arduinoに複数センサーを接続してRaspberry Piで値を取得したい。 シリアル通信を行うが、Pythonでテキストのパーサーを書くのも面倒だし、Arduinoでパーサーしやすい形を手打ちするのも手間。 楽にArduinoからデー...
Python

OptunaでValueError: CategoricalDistribution does not support dynamic value space.

OptunaでTensorflow/Kerasのハイパーパラメータを探索している時に表題のエラー。 traial.suggest_categoricalのパラメータを少し変えて再実行したが、optuna.create_studyの引数sto...
Python

Optunaで枝刈りしながら複数GPUでKerasをチューニング

ニューラルネットを構築する際、ハイパーパラメータの選択をする場面が多々ある。 人力やグリッドサーチでは取りこぼしがあるかもしれないので、ベイズ最適化を使ったライブラリ optuna でハイパーパラメータチューニングを行いたい。 並列で最適化...
Python

複数GPUを積んだマシンのDocker runで実行するGPUを指定する

複数GPUを積んだマシンでDockerを使う時、どのGPUを使うのか指定したくなった。 GPUでDockerを使う方法はたくさん紹介されているが、ほとんどが--gpus allをつかっており、個別に指定する方法がわからなかったので調べてみた...
Python

matplotlibで最初からフルスクリーンでplt.showする

matplotlibでimshowする時、引数を指定しないと常に決まった解像度で図が表示されてしまう。 最初からフルスクリーンで表示するには、以下のコードを書き込めばOK。 from matplotlib import pyplot as ...
Python

XGBoostがモデルを開放せずGPUメモリを専有してしまう

joblibでXGBを複数走らせる、forループでXGBを呼ぶ、hyperoptでパラメータ探索を行う....など、何回もXGBを呼んでしまうとGPUメモリを開放してくれずにエラーになることがあった。 predictが終わった段階で明示的に...
Python

Hyperasのfminが返す辞書のインデックスを値にする

HyperasでKerasのモデルのハイパーパラメータチューニングをしていた時、fminの返り値の辞書に含まれる結果が探索空間のインデックスで分かりにくい。 例えば探索するパラメータを hp.choice('hidden1', ) このよう...
Python

次元圧縮のUMAPでエラー module ‘umap’ has no attribute ‘UMAP’

PythonでUMAPを使おうとしたときに表題のエラー。 module 'umap' has no attribute 'UMAP' pip install umapだとダメで、umap-learnをインストールするのが正解 pip uni...