備忘録

BaseModelのkeyの命名規則を変換するAliasGeneratorについてメモ【備忘録】

お疲れ様です。 PydanticのBaseModelには要素のキー名の命名規則を変換する機能があります。 AliasGeneratorという機能で、BaseModelを定義する際に設定をすることができます。 pydantic.dev 例えば、frontendでTypeScript、backendでPythonを使用して開発し…

設定されたloggerのログレベルを個別に設定する方法【備忘録】

お疲れ様です。 Pythonの標準モジュールのloggingを使ってログを表示する際、インストールした他のライブラリに設定されたログが邪魔になることがありました。 そういう時にライブラリごとに個別にログレベルを設定して表示を制限する方法があったのでそれを…

Windows環境のPythonでデフォルトの文字コードをUTF-8にする設定【備忘録】

お疲れ様です。 Windows環境ではデフォルトの文字コードのデフォルトがshift-jis(cp932)になります。 これが原因でエラーが起こることもあり、対処方法の1つとしてデフォルトの文字コードをutf-8に変更する方法を調べたのでメモを残します。 一部のライブラ…

画像分類モデルの特徴量を可視化してみる【備忘録】

お疲れ様です。 今回は画像分類モデルが分類の判断に使用する特徴量を可視化してみる回です。 モデルがどのように画像の特徴をとらえているかをおおまかに知ることができ、例えばデータセットの見直しなどでモデルの精度改善の検討ができるようになるかと思…

画像分類モデルSEResNeXtについて調べたまとめ

お疲れ様です。 画像分類モデルのSEResNeXtについてのメモです。 個人的にCNNベースの画像分類のモデルアーキテクチャとしてはEfficientNetV2と並んでよく使います。 論文 SEResNeXtの重要なアーキテクチャであるSEブロックに関する論文です。 後の概要にも…

【FastAPI】日本語を含むファイル名のファイルをダウンロードする際のエラーと対処【備忘録】

お疲れ様です。 今回はFastAPIのファイルダウンロードで日本語のファイル名をダウンロードする際の注意点についてまとめました。 ちょうど1年前くらいにFastAPIでファイルダウンロードをするAPIを作成していました。 その際はファイル名を半角英数字のみで作…

Pytorchのモデル学習の中断と再開の処理を実装したメモ【備忘録】

お疲れ様です。 今回はPytorchで学習の途中再開をするためのコードのメモです。 長期間モデル学習を実行する際に予期せぬトラブルで処理が止まってしまった場合などにも使えると思います。 ソースコード 以前作成した画像分類のプロジェクトに実装しています…

HuggingFace Datasetsのload_datasetでダウンロードに失敗するときの対処【備忘録】

お疲れ様です。 HuggingFaceのDatasetsからデータセットを読み込み時にエラーが出たときの対応方法のメモです。 今回問題のあったデータセット Food_and_Vegetables(画像分類用のデータセット) huggingface.co 通常のやり方 通常Datasetsからデータセット…

OCRモデルTrOCRの実装まとめ

お疲れ様です。 前回の記事でTrOCRの調査内容をまとめたので、今回は実装のお話。 fallpoke-tech.hatenadiary.jp ソースコード コード内容補足 モデル データセット 前処理 実行結果 学習 推論 ソースコード ソースコードはこちらのGithubリポジトリにまとめ…

OCRモデルTrOCRについて調べたまとめ

お疲れ様です。 今月の半ばくらいまで会社の勉強会の関係でAI OCRの手法の1つのTrOCRの調査と実装をしていました。 今回はそちらの内容をまとめて備忘録を書いておきます。 論文 arxiv.org 要約(from ChatGPT) TrOCR:Transformerベースの革新的なOCR技術 …

画像分類モデルDeiTについて調べたまとめ

お疲れ様です。 画像分類モデルのDeiTについて、使う機会があり内容を調べてみたのでメモ的にまとめておきます。 論文 arxiv.org 要約(from ChatGPT) 背景 Vision Transformer (ViT) は自然言語処理のTransformerを画像分類に応用したモデルだが、従来は数…

【FastAPI】開始時と終了時に処理を管理するlifespanについて【備忘録】

お疲れ様です。 FastAPIでlifespanという機能を使う機会があったのでメモ。 lifespanの公式ドキュメントはこちら。 fastapi.tiangolo.com 機能の内容をざっくりというとAPIの起動時と終了時の処理を管理するというものです。 コードは以下のようになり、yiel…

【langchain-ollama】OllamaLLMとChatOllamaの違いを調査【備忘録】

お疲れ様です。 前回gpt-ossでMCPサーバを動かすという内容 で記事を書いたのですが、その中でlangchain-ollamaには OllamaLLMとChatOllamaの2つのモデルが使えることを知りました。 今回はこの2つの違いをざっくり調べてみました。 公式ドキュメント Ollama…

Pythonのデータのキャッシュ保存モジュール比較【備忘録】

お疲れ様です。 Pythonにはオブジェクトをキャッシュデータとしてファイル保存するモジュールがいくつかあります。 今回はそれらのモジュールをそれぞれ使用して比較してみたという内容です。 コードはこちらに残してあります。 github.com 今回使用するデー…

開発に関わるライセンス周りの個人的な知見まとめ【備忘録】

お疲れ様です。 仕事上で開発を行う際に付きまとうライセンス周りの問題について、個人的な知見もふくめてまとめておこうと思います。 (今後も追記する可能性ありです。) 以下2点ご注意ください。あくまで参考程度に考えてください。 ライセンス周りは私…

【FastAPI】APIから別のAPIをリダイレクトで呼び出し(RedirectResponse)【備忘録】

お疲れ様です。 今回はAPIから別のAPIをリダイレクトで直接呼び出すような実装をしたので、その復習も兼ねてメモを書いておきます。 以前requestsモジュールを使ってAPIの処理の中で別のAPIを呼び出してその結果を処理の中で使うということもやったのですが…

画面上の色をカラーコードorRGBで取得したい(ペイント使用)【備忘録】

お疲れ様です。 タイトルの通り画面上に映っているものから色情報を取得する方法についてメモです。 アプリの作成時などに設計書のイメージ通りの色を取得したい!という時によく使っている方法です。 Windowsのペイントを使った方法になります。(なのでWin…

【FastAPI】API間で共通の変数を扱うapp.state【備忘録】

お疲れ様です。 FastAPIで作成したAPI間で共通で使える変数を定義する方法のメモです。 最近の実装で必要になり調べたところFastAPIの機能として元からあることを知りました。 fastapi.tiangolo.com FastAPIでAPIを作成する際app = FastAPI()と最初に定義す…

【Pytorch】load_state_dictの重み読み込みについてメモ【備忘録】

お疲れ様です。 最近の実装で知ったPytorchにおけるモデルのload_state_dict時にstrict=Falseを指定したときの仕様についてメモを残しておきます。 docs.pytorch.org strict=Falseの指定について load_state_dictでは基本的にモデルアーキテクチャ(nn.Modul…

conda installできるCUDAについて【備忘録】

お疲れ様です。 タイトル通り今回はconda installできるCUDAについてのメモです。 個人としてはPytorchの環境構築でいつも使っているものではあるのですが、改めてどういうものか知っておきたいということで調べてみました。 conda installでCUDAをインスト…

Pythonからの別プロセスの停止に関してのメモ【備忘録】

お疲れ様です。 最近の実装でPythonの標準モジュールsubprocessを使って立ち上げたプロセスをPython自体の機能を使って停止させる処理を書く必要があり、いろいろと苦労したのでメモを残しておこうと思います。 直近で調べた内容なので間違い等あるかもしれ…

Pythonのパッケージ管理ツールuvをconda installでお試し

お疲れ様です。 今回はPythonのパッケージ・プロジェクト管理ツールのuvをconda環境でインストールして試します。 先日conda installできることを知って試してみたいと思っていました。 conda-forgeで公開されており、2025年5月時点で公式の最新バージョンと…

devcontainer立ち上げ時にVSCodeの拡張機能を自動で導入する設定【備忘録】

お疲れ様です。 devcontainerを新規で立ち上げた際、VSCodeの拡張機能が何も入っていない状態になります。ちょっと面倒な仕様ですが、これは"devcontainer.json"に導入したい拡張機能を設定しておくことで立ち上げ時に自動で導入してくれます。 設定方法 dev…

Windowsのローカル環境にNext.jsの開発環境を構築するメモ【備忘録】

お疲れ様です。 業務でNext.jsを使うことになり環境構築から対応が必要になったので試しに個人PCに環境構築したメモです。(自分用) もともとNext.jsを使った開発は経験があるのですが、Dockerでdevcontainerを作成して開発をしていました。 今回作成する環…

mmapでバイト列を分割して目的のデータを取得する改良

お疲れ様です。 昨日mmapを使った共有メモリでのプロセス間データ共有について記事を書いていました。その補足というかちょっとした改良を考えたのでメモ的に残しておきます。 fallpoke-tech.hatenadiary.jp 内容としては、昨日の記事の中で書いた読取側でバ…

Pythonで共有メモリを使ったプロセス間のデータのやり取りを実装(標準モジュール「mmap」)

お疲れ様です。 Pythonでプロセス間でのデータのやり取りをするにあたり、標準モジュールのmmapを使って共有メモリで実現する方法があります。 2年前くらいに必要があり作ったコードですが、復習の意味も込めて掘り出して再度書いてみたのでこちらにも備忘録…

Streamlitで実行中のプロセスを終了できない問題【備忘録】

お疲れ様です。 WindowsでStreamlitのWebアプリを開発する際、プロセスを終了できないことがあったので調べてみた備忘録です。大した問題ではないですが気になったので…。 ※この状態でCtrl+Cを押しても終了できないという状態↓ 発生する条件 「実行したまま…

Streamlitでログイン画面とユーザ登録画面を作る

お疲れ様です。 PythonのWebアプリフレームワークであるStreamlitを使ってログイン画面とユーザ登録画面を作ってみたのでその紹介。 以前作成していたチャットボットのアプリに実装していたものをデモ用に機能だけを取り出した感じです。↓ github.com 今回作…

自作APIとの通信をするPythonコードのメモ(requestsモジュール)

お疲れ様です。 今回はFastAPIで作成したAPIにPythonコードからリクエストをかけてデータ取得するコードをざっくりとまとめました。 コード解説 コードは下記に残してありますので詳細を確認したい場合はご確認を。実際にGitHubに挙げているコードを見てもら…

WSL+Docker+VSCodeでCUDA環境を作成した備忘録

お疲れ様です。 最近は業務でDockerを使用することも増え、個人的やっている内容もDocker使えればみたいな場面が増えてきました。 そういう背景から勉強も兼ねてDockerの環境を構築していたのでその備忘録です。 基本的には参考サイトのリンク集です。 Linux…