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技術 …

日本語特化OCR「YomiToku」を自作プログラムから動かす【備忘録】

お疲れ様です。 今回はOCR(光学文字認識)のお話。 OCR(Optical Character Recognition:光学的文字認識)は画像に含まれる文字をコンピュータで認識できるテキストの形で読み取る技術のこと。 最近だとOSSでYomiTokuが日本語特化OCRとしてはとても優秀で…

画像分類モデルDeiTを実際に動かしてみた

お疲れ様です。 前回の記事でDeiTについて調べたので実際にコード実装し動作できるようにしました。 前回の記事 fallpoke-tech.hatenadiary.jp ソースコード 実装したコードはこちらに置いています。 過去に作成したコードを改良したものになります モデルア…

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

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

古いバージョンのtorchvisionで発生するOverflowErrorについてのメモ【備忘録】

お疲れ様です。 今回はPytorchでの処理を実装している際に実際に出くわしたエラーについてのメモ。 torchvisionで発生したOverflowErrorについて調べました。 エラー内容 torchvisionのGitHubのissuesに情報がありましたので、載せておきます。 github.com …

EmbeddingGemmaのお試し

お疲れ様です。 Googleから新しいオープンモデル、EmbeddingGemmaが公開されたので試してみました。 こちらは埋め込みモデル(Embedding Model)、文書をベクトル化するためのモデルになります。 huggingface.co 上記HuggingFaceの公式ページにあるデモコー…

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

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

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

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

gpt-oss:20BでMCPを試してみた【LangChain+Ollama】

お疲れ様です。 今回はgpt-oss:20Bを使ってMCPサーバを利用した返答生成を試してみます。 コードは過去にGeminiのAPIを使って作成したものを、langchain-ollamaを使ったものに変更したのみにはなりますが…。 最後にGeminiと簡単に比較した内容を載せたいと思…

WordCloudでChatGPTのチャット履歴を解析してみる

お疲れ様です。 会社の勉強会でChatGPTのチャット履歴を取得して解析をしました。 その内容を記事として残しておこうと思います。 全体観としては、取得したチャット履歴からユーザの入力内容のみを抽出し、その文書情報を使ってWordCloudを作成するというも…

gpt-oss:20bでRAGを試してみた

お疲れ様です。 前回Ollamaを使用してgpt-oss:20bを動かしてみたのですが、ここまでできたらRAGも試してみたいということで実装してみました。 前回の記事 fallpoke-tech.hatenadiary.jp RAGの実装については以前GeminiAPIを使って実装したコードをベースに…

gpt-ossを動かしたくてOllama環境をDevcontainerで作成した、試した記録

お疲れ様です。 昨日(2025/8/6)にgpt-ossが発表されました。界隈がめちゃくちゃ盛り上がっていますね。 GPUのVRAMが16GBあれば一般のPCでも動かせる、その上かなりの高性能とのことで私もめちゃくちゃ気になっていたので試してみました。 環境について OS…

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

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

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

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

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

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

PythonからGeminiCLIを呼び出していろいろ活用したかった

お疲れ様です。 最近はCLIのAIエージェントが流行っていますよね…! 私も「GeminiCLI」をよく使っています。ほぼ無料で使えるのが良い! Gemini CLI使ってみたが、ちょっと引いてる… 細かい部分はともかくちゃんと動くものできるててすごい これ一応一定ライ…

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

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

【Streamlit】クエリパラメータを扱うst.query_params

お疲れ様です。 Streamlitでクエリパラメータを扱うことができるということを知ったので試してみました。 これを使って、これまでに作成したガントチャートアプリに閲覧専用のモードを実装するところまでやってみます。 クエリパラメータについて クエリパラ…

【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…

チャットベースでさらにMCPサーバを試す回【LangChain MCP Adapters】

お疲れ様です。 前回langchain-mcp-adaptersを使ってチャットボットでMCPサーバを利用した返答を出力させる実装をしました。 fallpoke-tech.hatenadiary.jp その際にMCPサーバを使った返答生成の部分だけを単体で実行できるコードを作っていたので、今回はそ…

【チャットボット】話題のMCPサーバをLangChainで使う

お疲れ様です。 最近話題のMCPサーバ、LangChainで使えるということをこれまた最近知りました。 会社でやっている技術系の勉強会でも最近触れたこともあり興味があったので、今回はこちらを実装してみました。 メモ勉強会でmcpに触れたのでチャットボット組…

はてなブログの記事をGitで管理【Hatena-Blog-Workflows-Boilerplate】

お疲れ様です。 このはてなブログの記事をGitHubで管理できるテンプレートというものを見つけました。 公式のはてなブログの開発チームが作成したもののようです。 公式の機能紹介記事 staff.hatenablog.com GitHub github.com Gitを使ったバージョン管理が…

【ガントチャートアプリ】タスクの追加・更新・削除の機能実装【Streamlit+Plotly】

お疲れ様です。 今回はガントチャートアプリの追加機能実装についてです。 前回の記事はこちら↓ fallpoke-tech.hatenadiary.jp 実装したのはタスク内容の追加・更新・削除の機能です。 csvファイルを読み込んだDataFrameで管理していますが、それを操作して…

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月時点で公式の最新バージョンと…

Streamlit+Plotlyでガントチャート付きのタスク管理アプリ

お疲れ様です。 Streamlitを使ってガントチャート付きのタスク管理アプリを作ったので紹介。 図の表示にはPlotlyを使用して動的なガントチャートにしています。(Plotlyの勉強も兼ねています。) 職場のタスク管理用のツールがExcelシートのままなのでゆくゆ…