yiskw note

機械学習やプログラミングについて気まぐれで書きます

【Pandas】DataFrameを綺麗に整形されたStringに変換するtabulate

概要 PandasのDataFrameをStringに変換する方法として,DataFrameのto_stringメソッドを使用する方法(参考)があげられますが, こちらで出力される結果は見にくく,別の方法がないかと探しておりました. そこでDataFrameを綺麗に整形されたStringに変換でき…

fzfを導入してterminalでの作業効率を爆上げする

概要 今更ながら,コマンドラインで曖昧検索を行えるfzfを導入してみました. fzfを活用することで,様々なコマンドをより便利にすることができます. 今回はその設定に関して,こちらにメモを残しておきます.

【Git】特定の日付でgit commitする

題名通り特定の日時でgit commitしたい場合があったので,その方法について調べました. 方法は簡単で--dateオプションを追加して,日時を指定するだけです. git commit -m "commit with specified date" --date="Jan 20 19:00:00 2021 +0900" 参考 Gitのコ…

Docker + Pythonを使用したGitHub Actionを自作する

概要 Github Actionsで使用できるActionを自作する方法について調査してみました. Actionを自作できると,複数のワークフローや他のレポジトリなどActionを使い回すことができ,非常に便利です. 今回はDockerを使用してGithub Actionを自作する方法につい…

【Rust】ベクタ型からHashSetを作る

RustでAtCoder ABC225のA - Distinct Stringsを解くにあたり, ベクタ型からHashSetを作る方法について調べたので,こちらにメモを残しておきます. 方法 Iterator型のfrom_iterを使用することで,ベクタ型からHashSetを作成できます. from_iterを使うには…

【Mac】クリップボードの拡張アプリであるClipyを使ってみた

mac

Macのクリップボードの拡張アプリであるClipyを使ってみました. Clipyを使うことで,クリップボードの履歴からペーストを実行できたり,スニペットを登録していつでも呼び出すことができます.

コマンド名からプロセスをkillするpkill

PyTorchなどで学習を回していて,途中で学習を止めたいときに, 複数のプロセスをkillコマンドで終了させるのに煩わしさを感じていました. 特定のパターンにマッチするプロセスを削除する方法を探していたところ, どうやらLinuxにはpkillというコマンドが…

【Python】二分探索を実装する

久しぶりに競技プログラミングの問題を解き始めました. 結構忘れているところもあるので,復習がてらアルゴリズムの実装をメモして行こうと思います. 今回は二分探索です. 普段使う分にはbisectというライブラリを使えば良いのですが(参考), 今回は一か…

GitHub ActionsからSeleniumを実行する

概要 今回はGitHub ActionsでSeleniumを実行する方法について調べたので,メモを残しておきます. 実装したコードは,こちらに公開してあります.

【JupyterLab】jupyterlab-tabnineで405 POST errorが出てしまう

[W 2021-12-31 18:29:29.132 ServerApp] 405 POST /tabnine?1640942969123 (::1) 3.03ms referer=http://localhost:8888/lab JupyterLabでTabnineをインストールし,使用しようとしたところ, 上記のような405 Postエラーが出て,Tabnineによる補完も効きか…

JupyterLabの環境構築+カスタマイズをする

概要 今更感がすごいですが,年末年始の休みを利用して,Jupyter NotebookからJupyter Labに移行してみました. その際の手順をこちらにメモとして残しておきます.

【Python】Banditを使用して,コードのセキュリティ上の問題を検知する

概要 今回はPythonのStatic Application Security Testing (SAST)を実施してくれるツールであるbanditを使用してみました. banditを用いることで,Pythonのコード上に潜むセキュリティの問題を検知することが可能です. またpre-commitで使用することもでき…

【Python】画像スクランブルを実装する

概要 画像のピクセルを並び替えることで,視覚的に認識ができない画像に変換する画像スクランブルについて調査してみました. またPythonを用いて画像スクランブル,及び画像の復元まで実装してみたので,こちらにメモを残しておきます. 実装はこちらにて公…

Jupyter Notebookの'_xsrf' argument missing from POSTというエラーを解消する

Jupyter Notebookを長時間使用していたところ,以下のようなエラーが発生し,notebookが動作しなくなってしまいました. [W 15:04:04.400 NotebookApp] 403 PUT /api/contents/Untitled.ipynb (::1): '_xsrf' argument missing from POST 原因についてはあま…

【numpy】opencvで読み込んだ画像を縦・横方向にシフトさせる

概要 opencvで読み込んだ画像を縦・横方向に移動させる方法について調べたので,こちらにメモを残しておきます. またその際に,はみ出た部分については無視するような処理についても検討してみました. これを行うことでCutMixのような前処理を実装すること…

【VSCode / Ubuntu】GNOME Tweak Toolを用いて変更したキーマッピングがVSCodeで反映されない問題を解決する

普段Ubuntuを使用する際は,GNOME Tweak Toolを用いてCapsキーをEscキーに変更しているのですが, VSCodeを使用するときはその設定が反映されず,困っておりました. 色々と調査していたところ,VSCodeのsettings.jsonに以下を追記すれば解決できるようです…

pdoc + GitHub Actionsを使用して,ドキュメントを自動でGitHub Pagesに公開する

概要 Pythonのdocstringからドキュメントを生成するライブラリに,sphinxなどがありますが, 今回は手軽にドキュメント生成ができるpdocというライブラリを使用してみました. pdocとGitHub Actionsを使用して,ドキュメントを自動更新し,GitHub Pagesに公…

【Gradio / PyTorch】YOLOXで物体検出を行うデモアプリを作る

概要 今回はGradioでYOLOXを用いた物体検出を行うデモを作成してみます. 今回使用したコードはこちらで公開しています. Gradioを用いた他のデモについてもメモを残しておりますので, よければ以下の記事をご覧いただけたらと思います. yiskw713.hatenabl…

【Gradio / PyTorch】Gradioでセマンティックセグメンテーションを行うデモアプリを作る

概要 今回はGradioでセマンティックセグメンテーションを行うデモを作成してみました. こちらのデモを使用することで,簡単にセマンティックセグメンテーションを試すことができます. 今回使用したコードはこちらで公開しています. Gradioの簡単な使い方…

【Gradio / PyTorch】Gradioで画像の前処理を可視化するデモを作る

概要 今回はGradioで画像の前処理を可視化するデモを作成してみました. こちらを使用することにより,前処理のパラメーターの影響度合いを確認や, 自作の前処理の動作確認などが非常に容易になります. 今回使用したコードはこちらで公開しています. Grad…

【Gradio / PyTorch】Gradioで画像分類を行うデモアプリを簡単に作る

概要 Gradioを用いた画像分類アプリ.※猫の写真はK LによるPixabayからの画像 機械学習モデルのデモアプリを作成したいと思っていたところ, Gradioというライブラリを見つけました. Gradioを使用することで,たった数行のpythonコードで簡単にデモを作成で…

【Starship / Python】Starshipを使用したプロンプト上でpyenv-virtualenvの環境が重複して表示されるのを直す

自分はStarshipを使用してプロンプトをカスタマイズしているのですが, 以下の画像のように,pyenv-virtualenvの環境が重複して表示されてしまっていました. ※ extract_color が,pyenv-virtualenvで作成したpython環境の名前 この問題は,PYENV_VIRTUALENV…

論文の日本語要約ツイートをslack / LINEに通知するアプリを作った

はじめに 定期的に論文の日本語要約ツイートを収集し,slackやLINEに通知するアプリを作成しました. 実装はこちらに公開しております. こちらのアプリは,GitHubアカウントとtwitter API key / tokenがあれば誰でも利用可能です. 最新の論文のキャッチア…

【Python / Pillow】画像の輝度,シャープネス,コントラスト,彩度を変更する

Pythonの画像処理ライブラリであるPillowを用いて,画像の輝度,シャープネス,コントラスト,彩度を変更する方法について調べたので, こちらにメモを残しておきます. 画像の読み込み 輝度を変更する 画像のシャープネスを変更する 画像のコントラストを変…

【Python】アンダースコア(_)の使い方

Pythonにおけるアンダースコア(_)の使い方について調べたので,こちらにメモを残しておきます. 主な使い方は以下の通りです. Jupyter Notebookやインタラクティブシェルで,最後に表示された値として使用する 不要な変数や返り値をアンダースコア(_)に割り…

【Python】不要な変数や返り値にアンダースコア(_)を使用する際の注意点

Pythonでは,不要な関数の返り値やを無視する方法として,アンダースコア(_)を使用する方法があります. 例えば以下のような例です. for _ in range(10): print("Hello") このようにforループの際に使用しない値をアンダースコア(_)とすることで, その値を…

Is 2D Heatmap Representation Even Necessary for Human Pose Estimation?を読んだのでメモ

概要 従来のヒートマップベースのキーポイント推定の手法は 低解像度の画像に対しての精度が低い 精度を向上させるには HourglrassNetのようなアップサンプリングを使用したものが必要 後処理の際に、ダウンスケールしたヒートマップの量子化誤差を軽減する…

【Python】del 文について

Pythonのdel文はリストから要素を削除する場合や, 変数の削除にも使用することができます. a = [1, 2, 3, 4, 5] del a[2:4] print(a) 出力 [1, 2, 5] しかしながら,このdel文はインスタンスを破棄するのではなく, あくまで参照カウントを1減らしているだ…

【Python】モジュール内でそのモジュールへの参照を取得する

概要 Pythonを用いて,モジュール内で定義したクラスの一覧から,指定されたクラスのインスタンスを返す関数を, そのモジュール内で作成しようとしておりました. 外部のモジュールであれば,以下のコードで実現が可能です. import mod # 自作モジュール c…

【PyTorch】nn.Sequentialで動画の前処理を行う

概要 PyTorchで動画データを読み込むにあたって, 動画をテンソル型に変換し,バッチ化するために前処理が必要となります. 動画の前処理は, 動画中のどのフレームを使用するかを決める時間方向の前処理 空間方向の前処理 (リサイズやクロップ,フリップな…