YOLOv11xモデルをHugging Faceに公開する

日本古典籍くずし字データセットで学習したYOLOv11xモデルをHugging Faceに公開し、Gradio Spacesでデモを作成する手順を紹介します。 概要 モデル : YOLOv11x(くずし字検出用) データセット : 日本古典籍くずし字データセット 公開先 : Hugging Face Models + Spaces 1. Hugging Face Modelsにモデルを登録 1.1 huggingface_hubのインストール p i p i n s t a l l h u g g i n g f a c e _ h u b 1.2 ログイン h u g g i n g f a c e - c l i l o g i n または Python から: ...

2026年1月26日 · 5 分 · Nakamura

Odeuropaに関連するツールを試す

概要 Odeuropaに関連するツールを試す機会がありましたので、備忘録です。 Odeuropaとは 以下のページに説明があります。 https://odeuropa.eu/ 以下、機械翻訳の結果です。 Odeuropa(オドゥーロパ)は、ヨーロッパの「匂いの文化遺産」を研究するEU資金による革新的なプロジェクトです。 プロジェクトの目的: 1600年から1920年までのヨーロッパの歴史において、匂いが文化にどのような役割を果たしてきたかを調査・記録することです。最新のAI技術を使って、約4万3千点の画像と16万7千点の歴史的テキスト(英語、イタリア語、フランス語、オランダ語、ドイツ語、スロベニア語)から匂いに関する情報を抽出しています。 主な成果物: 匂い探索エンジン - 300年以上のヨーロッパの匂いの歴史を検索できるユニークなウェブサイト 匂いの歴史・遺産百科事典 - 専門家が執筆した匂いに関する文化的現象のオンライン参考書 嗅覚ストーリーテリング・ツールキット - 博物館や文化遺産機関が匂いを展示に活用するための実践ガイド 遺産匂いライブラリー - 歴史的に重要な匂いを調香師と協力して再現し、保存するコレクション このプロジェクトは、従来の視覚や聴覚中心の文化遺産の理解に、「嗅覚」という新しい次元を加えることで、より豊かで多感覚的な歴史体験を可能にしています。 ツール 以下のページで、関連する幾つかのツールが紹介されています。 https://odeuropa.eu/nosebooks/ Live Image Processing Demo 国立国会図書館の「近代日本人の肖像」で公開されている以下の画像を利用しました。 https://www.ndl.go.jp/portrait/datas/224 以下にアクセスし、画像のURLを指定します。 https://huggingface.co/spaces/mathiaszinnen/odeuropa-demo https://www.ndl.go.jp/portrait/img/portrait/0224_6.jpg 「Confidence Threshold」を0.2に設定した結果は以下です。手に持っているタバコを認識できているようでした。 Smells Extraction テキストから匂いを抽出するツールのようです。 https://smell-extractor.tools.eurecom.fr/ 匂いに関する記述を含む英語のサンプルテキストをAIに作成してもらいました。 A T s h i I s w m a o l r k n e i d n g p a s s t t a r t t h e e d b d a i k f e f r e y r , e n t t h l e y w t a h r o m u g a h r . o m T a h e o f r i f c r h e , s h n l u y t t b y a k a e r d o m b a r e o a f d f a r n e d s h c l i y n n g a r m o o u n n d r o c l o l f s f e w e a f b t e e a d n s t h p r e o r u m g e h a t t e h d e t a h i e r , k i m t a c k h i e n n g , m i y t s m o b u i t t h t e w r a - t s e w r e e i t n s s t c a e n n t t l y p . r o L m a i t s e i r n g t h t a h t e a p f e t r e f r e n c o t o n s , t a w r h t e n t o I m s y t e d p a p y e . d I o t u t w s a i s d e s u a c f h t e a r c t o h n e t r s a u s m t m e t r o s y t e o s r t m e , r d t a h y e e p v e e t n r i i n c g h o w r h e f n i l I l e h d a d m y w a n n o d s e t r r e i d l s t h - r o t u h g a h t t d h i e s t g i a n r c d t e i n v , e w e h a e r r t e h y t h s e c e h n e t a d o y f p r e a r i f n u m o e n o d f r y j a s s o m i i l n e m i b x l i o n s g s o w m i s t h h u t n h g e h s e w a e v e y t i f n r a t g h r e a n a c i e r , o f i n w t e e t r m g i r n a g s l s i . n g I t w i r t e h m i t n h d e e d s h m a e r p o , f g m r y e e v n i s s i m t e l t l o o t f h e f r o e l s d h l l y i b c r u a t r y g r l a a s s s t a w n e d e k t , h e w h s e u r b e t l t e h e s w m e u e s t t n y e s s s m e o l f l r o o f s e a s g . e d N o p t a h p i e n r g a c n o d u l l d e a h t a h v e e r - p b r o e u p n a d r e b d o o m k e s f h o a r d t g o r d e a e y t ' e s d t m r e i p a s t o I t e h n e t e s r e e a d f , o o a d c c m o a m r p k a e n t i , e d h o b w y e v h e i r n , t s w h o e f r e v a t n h i e l l p a u n a g n e d n t a l o m d o o n r d o f f r o f m i s t h h e a n d d e c b o r m i p n o e s i a n s g s a l u i l g t n e i d n m i y n s t e h n e s e y s e l a l s o w I i n n g a v p i a g g a e t s e . d t h r o u g h t h e c r o w d e d s t a l l s , t h e s a l t y t a n g o f t h e o c e a n m i x i n g w i t h t h e m e t a l l i c s c e n t o f i c e a n d s e a f o o d . これを登録した結果が以下です。匂いに関する「Location」「Quality」「Smell Word」などが検出されていました。 ...

2025年7月24日 · 17 分 · Nakamura

NDL古典籍OCR-Liteを用いて、IIIFマニフェストファイルからTEI/XMLファイルを作成する

概要 NDL古典籍OCR-Liteを用いて、IIIFマニフェストファイルからTEI/XMLファイルを作成するGradioアプリの紹介です。 以下のURLからアクセスできます。 https://nakamura196-ndlkotenocr-lite-iiif.hf.space/ 背景 以下の記事の続きです。 これまでは、2つのアプリを使用する必要がありましたが、今回の改修により、単独のGradioアプリで変換作業が完結するようにしました。 また画像のコマ数が多いマニフェストファイルを処理する場合、進捗がわかりにくいことや、処理結果をコピーできない、といった不具合があったので、これらを修正しています。 画面の例 以下のように、「ページ 111/129 を処理中… - 79.7%」といった進捗を表示するように修正しました。 実装にあたっては、Progressを使用しています。 https://www.gradio.app/docs/gradio/progress またOCR完了後は、TEI/XMLファイルをダウンロードするためのリンクが表示されるようにしました。 まとめ Hugging Faceの無料で利用可能なCPUの制約上、OCRに時間がかかることがありますが、参考になりましたら幸いです。

2025年6月12日 · 1 分 · Nakamura

校異源氏物語に対する類似テキスト検索アプリを作成しました。

概要 校異源氏物語に対する類似テキスト検索アプリを作成しました。以下のURLからお試しいただけます。 https://huggingface.co/spaces/nakamura196/genji_predict 本アプリの使用方法などについて紹介します。 データ 以下の校異源氏物語DBで公開されているテキストデータを使用します。 https://kouigenjimonogatari.github.io/ アプリの内容 仕組みは単純で、校異源氏物語の巻毎・ページ毎のテキストを用意しておき、入力された文字列との編集距離を算出し、類似度が高いテキスト(+巻とページ)を返却します。 ソースコードは以下です。 https://huggingface.co/spaces/nakamura196/genji_predict/tree/main 応用例 例えば、以下の「[源氏物語] [4](東京大学総合図書館所蔵)」では、1つのIIIFマニフェスト内に複数の巻が含まれており、何コマ目から何コマ目までが何巻に属するのか、素人には判断が難しい場合があります。 https://da.dl.itc.u-tokyo.ac.jp/portal/assets/b90bbddc-509d-7c12-0fb9-af409a90a487 そこで、上記に資料に対してコマ毎のOCRテキストを取得し、今回作成したアプリに問い合わせることで、ページ毎に推定される巻数が提示され、巻の変わり目を知る手助けを行うことができます。 OCR OCRにあたっては、NDL古典籍OCR-Liteを使用します。 https://github.com/ndl-lab/ndlkotenocr-lite OCR結果を修正して、以下のようなTEI/XMLを作成しました。 < < < < ? ? ? T x x x E < < m m m I t / t l l l e < t e < - - x i f / e x b v m m m H i < < < f i t o < < < e o o l e l t / p / s / i H > d a / a / a r d d n a e i < t u < < p o < s l e y b < < < < < < < < a b < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < a b < < < < < < < < < < < < s e e s d D t t i b p d u u b / o e a > l s l s l s l s b l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s l s b l s l s l s l s l s l s i l l = e e l i t l u a b r i < b u D d n b e b e b e b e > n b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e b e > n b e b e b e b e b e b e o " r s e t l i b t l c b p i r e e = / g / g / g / g = / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g / g = / g / g / g / g / g / g n h h h > c S l e c l e i e l t b c s r " > > > > " > > > > > > > > > > > > > > > > > > > " > > > > > > = r r t > t e S a i > c D > r l e c > 1 t t t t 2 t t t t t t t t t t t t t t t t t t t 3 t t t t t t " e e t m > t t s 2 a e > D > " y y y y " y y y y y y y y y y y y y y y y y y y " y y y y y y 1 f f p t O m i h 0 t s t e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p . = = : > C t o e 2 i c a s t e e e e t e e e e e e e e e e e e e e e e e e e t e e e e e e 0 " " / R > n r 5 o > r c y = = = = y = = = = = = = = = = = = = = = = = = = y = = = = = = " h h / 結 S > - n g > p " " " " p " " " " " " " " " " " " " " " " " " " p " " " " " " t t w 果 t N 0 S e e 本 本 本 本 e 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 本 e 本 本 本 本 本 本 e t t w : m D 1 t t = 文 文 文 文 = 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 文 = 文 文 文 文 文 文 n p p w t L - m = " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " c : : . h > 古 2 t " p p p o / t t 典 9 > h a n n n n a n n n n n n n n n n n n n n n n n n n a n n n n n n d / e t 籍 < t g = = = = g = = = = = = = = = = = = = = = = = = = g = = = = = = i w w i p O / t e " " " " e " " " " " " " " " " " " " " " " " " " e " " " " " " n w w - s C d p " 1 3 4 5 " 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 " 1 2 3 4 5 6 g w w c : R a s " " " " " " " " " " " " " 0 1 2 3 4 5 6 7 8 9 " " " " " " = . . . / - t : f f " " " " " " " " " " f " t t o / L e / a c c c c a c c c c c c c c c a c c c c c c U e e r i i > / c o o o o c o o o o o o o o o c c c c c c c c c c c o o o o o o T i i g i t i s r r r r s r r r r r r r r r o o o o o o o o o o s r r r r r r F - - / i e i = r r r r = r r r r r r r r r r r r r r r r r r r = r r r r r r - c c n f < i " e e e e " e e e e e e e e e r r r r r r r r r r " e e e e e e 8 . . s . / f h s s s s h s s s s s s s s s e e e e e e e e e e h s s s s s s " o o / d p . t p p p p t p p p p p p p p p s s s s s s s s s s t p p p p p p ? r r 1 l u d t = = = = t = = = = = = = = = p p p p p p p p p p t = = = = = = > g g . . b l p " " " " p " " " " " " " " " = = = = = = = = = = p " " " " " " / 0 i l . s # # # # s # # # # # # # # # " " " " " " " " " " s # # # # # # r r " t i i : z z z z : z z z z z z z z z # # # # # # # # # # : z z z z z z e e > c s t / o o o o / o o o o o o o o o z z z z z z z z z z / o o o o o o l l . h c / n n n n / n n n n n n n n n o o o o o o o o o o / n n n n n n e e u e . i e e e e i e e e e e e e e e n n n n n n n n n n i e e e e e e a a - r u i - - - - i - - - - - - - - - e e e e e e e e e e i - - - - - - s s t > - i 1 1 1 1 i 2 2 2 2 2 2 2 2 2 - - - - - - - - - - i 3 3 3 3 3 3 e e o t f - - - - f - - - - - - - - - 2 2 2 2 2 2 2 2 2 2 f - - - - - - / / k o . 1 3 4 5 . 1 2 3 4 5 6 7 8 9 - - - - - - - - - - . 1 2 3 4 5 6 x x y k d " " " " d " " " " " " " " " 1 1 1 1 1 1 1 1 1 1 d " " " " " " m m o y l > > > > l > > > > > > > > > 0 1 2 3 4 5 6 7 8 9 l > > > > > > l l . o . 国 紅 は あ . O □ 源 / あ ろ か が を " " " " " " " " " " . ろ 上 詠 ち か ひ / / a . i 外 葉 な ふ i O □ 氏 朱 ま か た り あ > > > > > > > > > > i く 達 は と ほ か t t c a t < の の ひ t O □ 十 雀 り る 〴 給 か 前 青 火 と み に お し 詠 一 t 哀 部 て り の る e e . c c / か え < c < □ 七 院 な べ 〵 。 ず に 海 と な や さ も ぶ な 後 c な み ゝ た 色 と i i j . . s < ん / . / □ 才 の り き 物 う お て 波 の る ま し し み ど 順 . る こ 初 る あ 見 / / p j u e / < s u s □ ノ 行 。 た 見 へ ぼ せ を ゝ を ば た ろ お し 伽 u に た う が ひ え c c / p - g s / e - e □ 十 幸 よ び 給 も さ さ ぞ 頭 。 な る き も 給 の - 。 ち ち く ま 給 u u r / t > e s g t g □ 月 ば の の は な る せ ま 中 立 り に ほ ゝ へ こ t み も な の さ 。 s s e r o g e > o > < よ 。 つ こ ぬ つ れ 給 ひ 将 な 。 。 ど ち る ゑ o か み を に り 春 t t p e k > g k / り 神 ね と こ ぼ ば ふ 給 が ら 入 が に 。 は な k と な し ぎ て 宮 o o o p y > y s 四 無 な 成 と の 。 。 け た び が く 。 よ こ ら y 泪 な 給 は つ の m m / o o o e 年 月 ら け を 。 誠 源 る ち て た の お に れ ん o お き へ ゝ ね 女 / / i / . . g の の ず れ 口 み 楽 氏 。 よ は の こ な 見 や と . と 給 る し よ 御 s s i i a a > 十 十 。 ば お 給 を の か う 。 日 ゑ じ え 仏 聞 a し ぬ に き り 。 c c i i c c 月 日 お 。 し は 御 中 た い 花 か ま ま ぬ の ゆ c 給 < ま に も か h h f i . . 迄 < も 御 < ざ < 将 て 人 の げ さ ひ さ 御 。 . 。 / < < < く e e / f j j 有 / し < / ら / は に に か さ り の ま 迦 お j < s / / / < m m b / p p < s < / s ん s 。 は こ た や 。 あ な < も p / e s s s / a a 9 b / / / e / s e < e < 。 < は か 物 < り / し / s g e e e s / / 0 9 i i s g s e g / g / < / ら < の / 。 s < i e > g g g e r r b 0 i i e > e g > s > s / s の / < s < e / i g > > > g e e b b i i g g > e e s e < s / e / g s i > > l l d b f f > > g g e g / e s g s > e f a a d d / / > > g > s g e > e g / x x c d s s > e > g g > s n n - c o o g > > o g g 5 - t t > t / / 0 5 o o o t t 9 0 _ _ _ e e d 9 o o o i i - d g g g _ _ 7 - a a a a a c 7 i i i l l 1 c _ _ _ l l 2 1 2 2 2 . . - 2 0 0 0 r r 0 - 2 2 2 n n f 0 3 3 3 g g b f 1 1 1 " " 9 b 0 0 0 - 9 / / / t t a - A A A y y f a 0 0 0 p p 4 f 5 5 5 e e 0 4 _ _ _ = = 9 0 4 4 4 " " a 9 / / / a a 9 a 0 0 0 p p 0 9 0 0 0 p p a 0 4 4 4 l l 4 a / / / i i 8 4 A A A c c 7 8 0 0 0 a a / 7 5 5 5 t t m / _ _ _ i i a m 4 4 4 o o n a _ _ _ n n i n 0 0 0 / / f i 0 0 0 x x e f 4 4 4 m m s e _ _ _ l l t s 0 0 0 " " < t 0 0 0 / " 0 0 0 s s t / 1 2 3 c c i > . . . h h t t t t e e l i i i m m e f f f a a > / / / t t f f f y y u u u p p l l l e e l l l n n / / / s s f f f = = u u u " " l l l h h l l l t t / / / t t 0 0 0 p p / / / : : d d d / e e e / f f f r p a a a e u u u u l r l l l a l t t t x . . . . n o j j j g c p p p . l g g g o c " " " r . > > > g r n g s d s s t d r l u / c s t c u h r e e m / a 1 t . r 0 o " n ? " > ? > 推定 上記のXMLファイルを入力として、先に紹介したGradioアプリのAPIを利用します。 ...

2025年1月29日 · 25 分 · Nakamura

mdx.jpを用いてYOLOv11のクラス分類(くずし字認識)の学習を試す

概要 mdx.jpを用いてYOLOv11のクラス分類(くずし字認識)の学習を行う機会がありましたので、備忘録です。 データセット 以下の「くずし字データセット」を対象にします。 http://codh.rois.ac.jp/char-shape/book/ データセットの作成 yoloの形式に合致するようにデータセットを整形します。まず、書名ごとに分かれているデータをフラットにマージします。 # c | l a e s x s d p e o C f r l t a c # f # f s r i o s e " l o r i a . e u f t . s t f c o i # o s i e / p i l u f s h c _ d = u l s t p . u a d a t e p o r m t t a t g _ = u s c i a i i t a l d i t . o n k l o a / o i n f _ p n t e . n s * b r i f a t ( d c : e / ( t l i t i f i o t c i = q e l h n " r p ( h n d . e . u C s y s a p " m s e e o ( ( e r u . ( p = x p f f l a t . f l i y " i f c _ / i i f s i { l , t f d l t " t n o e e i a e ( { s g u , i r l t s " o ( t n s e a ) / u o { p o p / _ / : " t u f u u u * p d ) p t i t t t / a a [ u p l _ p _ * t t - t u e d u f . h a 2 _ t } i t i j ) s ] d _ r _ l p e i f t } f e g t r i o / i _ " " } l { l p / e { c e a { ) o l ) t c : u s h l t } , s p " } u , o / t u { _ e t f f x p i i i u l l s t e e t _ . } _ d s " o i p ) k r l = ) i T : t r ( u ' e / ) ' ) [ - 1 ] } " 次に、以下のようなスクリプトにより、データセットを分割します。 ...

2024年11月6日 · 34 分 · Nakamura

Hugging Face SpacesとYOLOv5モデル(顔コレデータセットで学習済み)を使った推論アプリの構築

概要 Hugging Face Spacesと、YOLOv5モデル(顔コレデータセットで学習済み)を使った推論アプリを作成しました。 人文学オープンデータ共同利用センターが公開する顔コレデータセットは以下です。 Yingtao Tian, Chikahiko Suzuki, Tarin Clanuwat, Mikel Bober-Irizar, Alex Lamb, Asanobu Kitamoto, “KaoKore: A Pre-modern Japanese Art Facial Expression Dataset”, arXiv:2002.08595. http://codh.rois.ac.jp/face/dataset/ 推論アプリは、以下のURLからお試しいただけます。 https://huggingface.co/spaces/nakamura196/yolov5-face また以下のURLからソースコードや学習済みモデルをダウンロードすることができます。同様のアプリケーションを開発される際の参考になれば幸いです。 https://huggingface.co/spaces/nakamura196/yolov5-face/tree/main なお、アプリケーションの開発には、以下のSpaceを参考にしています。 https://huggingface.co/spaces/pytorch/YOLOv5 使い方 画像をアップロードするか、Examplesから画像を選択してご利用いただけます。以下のように認識結果を確認することができます。 『文正草子』(日本古典籍データセット(国文研所蔵)CODH配信) まとめ 検出精度が十分でない点がありますが、参考になりましたら幸いです。 現在はYOLOv5を用いたモデルですが、今後より新しいモデルも試してみたいと思います。

2024年10月5日 · 1 分 · Nakamura

ModuleNotFoundError: No module named 'huggingface_hub.utils._errors'対応

概要 Hugging FaceのSpacesにアプリをデプロイした際、以下のエラーが発生しました。このエラーに対する備忘録です。 C V U W T M D r i p A r o u e e d R a F F F d r a w a N c i i i u i t t I e l m l r l f l n i U e N b e o e e e r e g n l G a d s o N g t S c " e " u " m o h r e ⚠ k / l / l / t a n a t ️ u u t u h F n e l t ( s = s s u o d w y i D m r r = r g u l t n e o / D / / g n i U i g t s l e l a l i d n l c s e t o t o t o n E g t s c c e c t c g r r w t r a c a e a f r o a S i M e l t l m l a o f l e t u c / M / p / c r y t h l e l u l t l e : t t t t n i l i _ i _ h i i ' i t b t b d b h N e c n y B / i / o / u o s g o a c p B p w p b a s l c a y a y n y . m b S o k l t c t l t u o o e w e l h k h o h t d v t i s n o e o a o i u e t t e d l n n n d n l l i h t a 3 d 3 _ 3 s e e n t f s . ( . f . . x g ' i a t 1 1 r 1 _ n c s y n i ) 0 0 0 e a e o g l : / m / r m p v l s e s s _ s r e t 0 o d i i h i o d i . k : t t u t r o 0 s e e e b e s ' n . e y N - - ( - h , 6 t = o p p w p i u t v a a , a m g a f i a m c c c p g n i n l o k k h k o i o l g u d a a f a r n t e s e u g g _ g t g h ' ' l e e t e f e ✅ , e s s s R a r o / k / e c r i n y y e y p e e . a o o n o o _ x a e m l l = l s h c t . e o o h o i u e d v v f v t b p ' 5 5 _ 5 . t y ' / / t r u i h o h h m u y t o o l u e o k t N i n m o g l d e i o l e g p e n l t s o / s i e l ) s F . c u e n r s / o _ c s t g s / d u e u e t f . c o n r r r i a p o w d r r / n c y m n E o e . g e " m l r r d c s _ , o o r s : o h n a o ' n r u l . d r f u b i p s i n . n y . g s u e " p / _ t , y U d i 3 " l i l 8 l , t r s , i r = . n l a p _ i e i l a e n n y t r 3 e t h r l 3 i / o o 8 1 c t r a , 5 s s d 0 / ' _ i , s d m n e i o i t r d n t ' e _ i . l i a n n t g F i t s o t e . r _ m j _ p s h t o e _ n l d ' p o w s n e l e o a h d t _ t f p r s o : m / _ / h d u o b c s . u l t r a l y t i c s . c o m / q u i c k s t a r t / # u l t r a l y t i c s - s e t t i n g s . 参考 以下の記事が参考になりました。 ...

2024年10月4日 · 5 分 · Nakamura

Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの修正

概要 以下の記事でHugging Face Spacesと、以下の記事で紹介したYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリを紹介しました。 このアプリが動作しなくなっていたため、動作するように修正しました。 https://huggingface.co/spaces/nakamura196/yolov5-ndl-layout この修正で行なった対応についてメモします。 修正点 修正を加えたapp.pyは以下です。 i f i i m d i o ] t d a e ] d d m r m m o e n u i e r x e e p o p p d f p t t s t a m m o m o o e u p l c i m o o r r r l y r d r i # o r ] t u g g e r c p [ [ [ . t P t t o e f e m u e s t r r i l l ' ' ' = l I = l s s _ C t t s . . = p e e 『 『 『 a g L y j o u = w o p u = I J t s 源 源 平 g u r o s y ( l = i n u r o r = m S " i = 氏 氏 家 r n a i l o o i t r t v t n u e g a O Y o = 物 物 物 . c d m o n l m s e j h e _ t s r [ g N O n " 語 語 語 I h i p v o ) s s _ r i [ p . e ( L < [ 』 』 』 n ( o o 5 v : = u o b t m u I ( ) O = p ( ( ( t s r 5 l n o a t m t v 東 京 国 e h a t . m t . x t g _ a y 5 " s 京 都 文 r a s l o s l e h e i g p Y t 大 大 学 f r I o d . o s e m e e N O y 学 学 研 a e g m a e p a = a ( = D L l 総 所 究 c = r a d l a d = n g t " L O e 合 蔵 資 e F g ( ( n s u I e y p - v = 図 ) 料 ( a e " i d ( r m m , p i D 5 ' 書 . 館 y l n m a d e p a e l o t 館 j 提 o s a ) s f s y g = " c N e 所 p 供 l e k ( ) u e ' , L D x 蔵 g ) o ) a ) l a . p L t ) ' . , m # . t r f i l D - - . ] j u x s r r l a a D a j , p i r i y . a o ' b t o l p g n a n x r y m , e a c i g ' p 1 f y e a l s L g ' ] u 9 e [ n b r l = e n ] t 6 r 0 d a r a " t D : , s / e ] e c a b O s a , y n . r k y e u " t c o c t ( ( l t a e o l e o ) t i = p s n u o _ [ o m " u e t t v j 0 _ O t t e p 5 s ] a w r s r u - o n i i I ' t n n t g m G > s d ( # i h i a r Y , l o m _ n g a O - r r a b a e d L t l i e g o l " i O i a e s e x ) o v t y n u e I , 5 l o t l s m d e u = t ) a e N = t " s g m D t " r . e o L i ) e r " - t c e ) f D l o n o o e r d r c , d e L s r o d " ( b D e ) ) j a s e t c r c a r e t s i t e p u d t t r e s i n t o s e i n c s = a t d i a e l o n s i n c s . o r t b i U j p o p e t f l c i o t o i a n m d d , a e g a t a e n e r s c t i t i m i c a o l g n e e = m a o o r r d t e i c l c l l i t e c r , k a i e a n x n e a d m e p x o l a n e m s p t = l h e e e x a i < m m a p a l g h e e r s e ) t f = u " s h e t . t " p s : / / g i t h u b . c o m / n d l - l a b / l a y o u t - d a t a s e t \ " > N D L - D o c L D a t a s e t s < / a > . < / p > " まず、Gradioのバージョンアップに伴い、gr.inputs.Imageをgr.Imageなどに変更しました。 ...

2024年5月20日 · 5 分 · Nakamura

学習指導要領コード推薦アプリのAPIを使用する

概要 以下の記事で、学習指導要領コードの推薦アプリについて紹介しました。 今回は、GradioのAPIを使って、上記の推薦アプリを使用する方法について紹介します。 使い方 ライブラリをインストールします。 p i p i n s t a l l g r a d i o _ c l i e n t 例えば、以下のデータを使用してみます。 テキスト 学校種別 空気鉄砲や水鉄砲、ペットボトルロケットなどのしくみを調べ、空気はおし縮められ体積が小さくなるにつれて反発する力が大きくなるが、水はおし縮められないことに気づく。 小学校 JSONデータは実行結果の配列の2つ目の要素に格納されているため、result[1]で取得します。 f c r j r l e s o i s t c a o m e u e o p n n l x u i _ g t t t r _ d r = s n a a = = " e a t d 空 O m a i C c 気 f e o l l 鉄 S = = _ i i 砲 t " c e e や u / r l n n 水 d p e i t t 鉄 y r s e ( . 砲 = e u n " p 、 [ d l t n r ペ " i t a e ッ 小 c [ i k d ト 学 t 1 m a i ボ 校 " ] p m c ト " o u t ル ] r r ( ロ , t a ケ 1 ッ C 9 ト l 6 な i / ど e j の n p し t - く c み o を s 調 " べ ) 、 空 気 は お し 縮 め ら れ 体 積 が 小 さ く な る に つ れ て 反 発 す る 力 が 大 き く な る が 、 水 は お し 縮 め ら れ な い こ と に 気 づ く 。 " , 結果、以下のようなJSONデータが得られます。 ...

2024年4月16日 · 6 分 · Nakamura

学習指導要領コードの推薦アプリの試作

概要 学習指導要領コードの推薦アプリを作成しましたので、その紹介です。以下のhuggingfaceのspaceでお試しいただけます。学習指導要領LODを利用しました。 https://huggingface.co/spaces/nakamura196/jp-cos 使い方 テキストフォームに任意のテキストを入力します。「学校種別」は任意項目です。 結果が画面右側に表示されます。 サンプルも用意していますので、お試しください。NHK for Schoolの情報を利用しています。 仕組み 以下の記事を参考に、学習指導要領のテキストをベクトル化し、同様にベクトル化した質問文と類似する学習指導要領を返却します。 https://zenn.dev/yumefuku/articles/llm-langchain-rag 上記の記事の通り、ベクトル検索ライブラリには「FAISS」、埋め込みモデルには「multilingual-e5-large」を使用しています。 https://huggingface.co/intfloat/multilingual-e5-large 推論部分のソースコードは以下でご確認いただけます。 https://huggingface.co/spaces/nakamura196/jp-cos/blob/main/app.py 工夫点 「学校種別」などを用いたフィルタリング 「学校種別」が指定された場合、langchainのFAISS.similarity_search_with_scoreによる類似度検索において、フィルタリングを行っています。 具体的には、以下のfilterを用いています。 m i t e e f r x t y c a g : e d r m d p p r a a e o t r e t d t c i t a e a s E n u : d _ x t r = a a c ( n t n e f { a d p " [ } [ _ t E ] " s i r 学 c o r 校 o n o 種 r r 別 e a " s s d ] u = e r = : i i n g n g r d a e s d x e e . a s r i c m h i : l a { r e i } t " y ) _ s e a r c h _ w i t h _ s c o r e ( i n p u t _ t e x t , f i l t e r = m e t a d a t a ) 今後 「教科等」による絞り込み 「学校種別」による絞り込みに加えて、「教科等(理科、社会、数学など)」も追加予定です。 ...

2024年4月16日 · 2 分 · Nakamura

Hugging Face Spaceを用いたNDL古典籍OCRのウェブアプリ

概要 Hugging Face Spaceを用いたNDL古典籍OCRのウェブアプリを作成しました。以下でお試しいただけます。画像アップロードして、1分程度すると、OCR結果のテキストとJSONデータが表示されます。 https://huggingface.co/spaces/nakamura196/ndl_kotenseki_ocr 本アプリの作成にあたっては、以下の記事を参考にさせていただきました。 https://qiita.com/relu/items/e882e23a9bd07243211b 使い分け NDL古典籍OCRを試す環境として、Google Colabを用いたチュートリアルを別途用意しています。 上記では無料でGPUを使用することができるため、高速なOCR処理が可能です。一方、ノートブックの初回起動時に、関連するライブラリやモデルのダウンロードを行うため、4分程度のセットアップ時間がかかってしまう点等に課題があります。 一方、今回Hugging Face Spaceを用いた作成したアプリケーションでは、72時間連続して使用されない(2023年2月時点)限り、OCR処理を即座に実行することが可能です。さらに、Web APIによる利用も可能といった点が挙げられます。(APIによる利用については後述します。)ただし、無料枠ではGPUが使用できないため、1画像あたり1分程度の処理時間がかかる点が課題です。(有料枠でGPUを使用することもできます。) APIによる利用 APIによる利用例を試すことができるノートブックを用意しました。504 Gateway Time-outというエラーが発生してしまう場合もありますが、参考になりましたら幸いです。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/GradioのAPIを用いたNDL古典籍OCRの例.ipynb まとめ NDL古典籍OCRの精度(≠速度)を試してみる場合など参考になりましたら幸いです。

2023年3月27日 · 1 分 · Nakamura

Hugging Face SpacesでJSONを返却する

以前、Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの構築を行いました。 今回は上記のアプリを一部変更して、以下の差分に示すように、JSON出力を追加しました。 https://huggingface.co/spaces/nakamura196/yolov5-ndl-layout/commit/4d48b95ce080edd28d68fba2b5b33cc17b9b9ecb#d2h-120906 これにより、以下のノートブックのように、返却結果を利用した処理が可能になりました。 https://github.com/nakamura196/ndl_ocr/blob/main/GradioのAPIを用いた物体検出例.ipynb 他により良い方法があるかと思いますが、参考になりましたら幸いです。

2022年8月16日 · 1 分 · Nakamura

Hugging Face SpacesとYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリの構築

概要 Hugging Face Spacesと、以下の記事で紹介したYOLOv5モデル(NDL-DocLデータセットで学習済み)を使った推論アプリを作成しました。 以下のURLからお試しいただけます。 https://huggingface.co/spaces/nakamura196/yolov5-ndl-layout また以下のURLからソースコードや学習済みモデルをダウンロードすることができます。同様のアプリケーションを開発される際の参考になれば幸いです。 https://huggingface.co/spaces/nakamura196/yolov5-ndl-layout なお、アプリケーションの開発には、以下のSpaceを参考にしています。 https://huggingface.co/spaces/pytorch/YOLOv5 使い方 画像をアップロードするか、Examplesから画像を選択してご利用いただけます。以下のように認識結果を確認することができます。 APIの利用 APIの利用方法に関するノートブックを作成しました。こちらも参考になりましたら幸いです。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/gradioのAPI利用.ipynb

2022年8月4日 · 1 分 · Nakamura

Hugging FaceモデルをAWS Lambdaでホスティングし、サーバーレス推論を実現する

概要 以下の記事を参考に、Hugging FaceモデルをAWS Lambdaでホスティングし、サーバーレス推論を行った備忘録です。 https://aws.amazon.com/jp/blogs/compute/hosting-hugging-face-models-on-aws-lambda/ また、Lambdaの関数URLとCloudFrontを用いたAPIの提供までを行います。 Hugging FaceモデルをAWS Lambdaでホスティング 準備 この点については冒頭でも紹介した、以下のドキュメントを参考にしています。 https://aws.amazon.com/jp/blogs/compute/hosting-hugging-face-models-on-aws-lambda/ まず以下のコマンドを実行します。venvという仮想環境を作成していますが、この点は必須ではないはずです。 # g c # p s # p # c C i d y o i d l t 仮 t u I p B k o z 想 h r n o n c e 環 o c s i o b e l r 境 n e t n t o o o の a s s o t n - 作 - v l t t t h e a 成 m e l a r s e d と n l a t h m 有 v v t l p r p t i 効 e / h a r t n 化 n b e - t p o p i v i r h j s s n r e e : t v / e r c / r e a q e C t / a n c u q D g t v t i u K t i i i r i . o t o v e r h n a d e T y u - t m h o b i e d e i u . n e n s r c f p t o e e s c d m r n . o e / e d t m a n e x m e w c n t a l s e c n o - - i d p s w e m a i s p e m t : r n p h o t l - v e a i e s w s n / s i z - o i e l n r r a s o o m n - b t m a d h e d a e n m - t i f i n o n i r i s - t t h i r u a a g l t g i i r o n e n g s - - o i f u n a r f c c e e e r s e n n c e e e - d w e i d t h b - y a w t s h - e l a C m D b K d a t - o f o p r e - r h f u o g r g m i n d g e - p f l a o c y e m . e g n i t t s : 注意 ドキュメントでは、この後にcdk deployをするように記載されています。その結果、deployすることができ、lambdaのテストも実行できました。しかし、後述するlambdaの関数URLを発行して利用した際に、いくつかエラーが発生しました。そのため、次の修正を行います。 ...

2022年7月17日 · 7 分 · Nakamura