yu9824's Notes

最近jupyter notebookをnbconvertコマンドでmarkdownに変換してここの投稿を行うことがある。

そのときに勝手に、Pythonのスクリプト結果にもコードブロックを適用してくれるのだが、hightlight.jsの言語自動判別機能によりよくわからないハイライトをされてしまうことがある。

Pythonのセルにはpythonであることを明示してくれるので、highlight.jsの自動判別機能をオフにすれば解決すると考え、この方法を行った。


optunaのv3のベータ版(v3.0.0b1)が公開された。リリース情報を見ていて個人的に気になったのがSHAP値の計算機能の追加であった。

SHAPは調べるといろいろな人が「使ってみた」や解説記事を書いているので詳細な説明はそれに譲るが、簡単に言えばどの特徴量やパラメータが予測に対してどのくらい寄与しているかを評価することができる。

これをoptunaに実装し、ハイパーパラメータチューニングの最中にどれくらいどのパラメータが影響を与えたかを簡単に確認することができる機能が実装されたので使ってみる。


以前から自分で作成したPythonパッケージをPyPIにリリースしていた。

https://note.yu9824.com/howto/pypi-package-release/

したがって、pip install <package-name>とすることでインストールできた。しかし、この度conda install -c conda-forge <package-name>でインストールしたいという要望をいただいたのでanaconda cloudにパッケージをアップロードする方法を学んだ。

https://github.com/yu9824/kennard_stone/issues/5

このときの手順をメモした。


自分のMacbook Air(2020, M1)では、conda skeleton pypi <package-name>コマンドが失敗した。

参考に、自分の環境におけるエラーメッセージを示す。

Traceback (most recent call last):
  File "/opt/conda/bin/conda-skeleton", line 11, in <module>
    sys.exit(main())
  File "/opt/conda/lib/python3.9/site-packages/conda_build/cli/main_skeleton.py", line 64, in main
    return execute(sys.argv[1:])
  File "/opt/conda/lib/python3.9/site-packages/conda_build/cli/main_skeleton.py", line 59, in execute
    api.skeletonize(args.packages, args.repo, output_dir=args.output_dir, recursive=args.recursive,
  File "/opt/conda/lib/python3.9/site-packages/conda_build/api.py", line 276, in skeletonize
    skeleton_return = module.skeletonize(packages, output_dir=output_dir, version=version,
  File "/opt/conda/lib/python3.9/site-packages/conda_build/skeletons/pypi.py", line 315, in skeletonize
    get_package_metadata(package, d, data, output_dir, python_version,
  File "/opt/conda/lib/python3.9/site-packages/conda_build/skeletons/pypi.py", line 752, in get_package_metadata
    requires = get_requirements(package, pkginfo, all_extras=all_extras)
  File "/opt/conda/lib/python3.9/site-packages/conda_build/skeletons/pypi.py", line 1115, in get_requirements
    for extra in pkginfo['extras_require']:
KeyError: 'extras_require'

最終的にこれを克服してパッケージをリリースできたので、対処法をメモする。


この度新しいMacbookを購入した。

本来であればTime Machineを使って移行を行なった方が楽であったが、訳があって一からセットアップすることになった。

モレがないように、やったことはすべて記しておきたいと思う。

基本的な用途としては、

  • オープンソースソフトウェアの開発(Python)
  • このサイトの記事執筆

自分は化学系の人間であるため、似た境遇人に参考になればと思う。


最近の投稿

【matplotlib】colorbarの高さを図と揃える
matplotlibでcolorbarの高さと図を揃える方法についてメモ。
何もhandlerが設定されていないのにlogが出力される
logの出力を止めるため、継承しているすべてのLoggerのHandlerを削除した。にもかかわらず、ログが表示されてしまった。解決するまでかなり時間がかかったのでメモ。
モダンなfingerprintの計算方法
これまで馴染み深かったrdkitにおけるfingerprintの計算方法が新しくなったらしいのでメモ。
Minimal mistakesをNetlify上でホストする【備忘録】
Jekyllの優れたテーマの一つにminimal-mistakesがある。これをNetlify上でホストする手順を備忘録として残す。
Githubで特定のコミット同士を比較する
Githubで特定のコミット同士を比較する方法の備忘録。