Optunaの各trial毎に決まった処理を実行させる方法
はじめに最近、Optunaというハイパラ調整ライブラリを使っています。ハイパラ調整はある種職人的技量が求められるため、この部分で困っている人にはおすすめです。このOptunaですが、デフォルトの場合、ハイパラ探索の結果を見れるのは全計算が終わった後になります。全体の計算が5分程度なら良いのですが、何時間もかかる場合はモヤモヤしながら待つことになります。そこで、各trial毎(すなわち一つの探索毎)に...
View ArticleOptunaのハイパラ探索時に、複数の指標を保存しておく方法
はじめにOptunaでは、例えばAccuracyを最大化するようなハイパラ探索を行います。その場合、Accuracyをリアルタイムで表示したり、studyオブジェクトに保存したりすることができます。しかし、Accuracy以外にも、例えばPrecisionやRecallなどの指標を保存したい場合があります。そこで、今回はOptunaのハイパラ探索時に、複数の指標を保存しておく方法を紹介します。(注意...
View Articlemultiprocessingの備忘録 : 並列処理が動かなくなった時の対処法
機械学習モデルのパイプラインを作成していると、並列処理を行いたい場面が出てくるとおもいます。私も同様に、データの前処理→並列処理でモデル学習という流れでパイプラインを作成していました。しかし、前処理の内部実装を変えた途端に、突然並列処理が動かなくなりました。結論spawnを使う。defmain(): preprocessing() # 前処理メソッド train_test() #...
View Article論文読み会のネタ探しに困った時
研究室に所属していると、定期的に論文を紹介する機会があります。しかし、紹介するのに丁度いい(ある程度インパクトがあり、かつ説明しやすい)論文が見つからないこともあります。今回は私が論文を探す時に行っていることを紹介します。国際会議の受賞論文を探す国際会議で受賞した論文は、その分野で特に影響力があり、革新的な内容を含んでいることが多いため、紹介するには最適です。また、論文の構成や図の描き方など、自身が...
View Article