Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

2024-01-01から1年間の記事一覧

1ヶ月に22本ブログ記事を書いて気づいたこと

正確にはまだ21.05本くらいで、今もその数値が少しずつ増えています。 さて AI校正Shodoアドベントカレンダーをやろうと思い立ったのは11月の中旬ごろでしたが、目的としてはもちろんマーケティング的な意味合いもありつつ、ドッグフーディング的な意義もあ…

requirements.txtでリポジトリーURLを指定する方法

requirements.txtでリポジトリーURLを指定したいことがあります。たとえばSageMakerではコード用のディレクトリーにrequirements.txtを配置することで、起動時に依存ライブラリーをインストールしてくれます。その際に問題になるのが、Neuron系のライブラリ…

Jupyter Notebookでマウスを使わない!

AI

Jupyter Notebookでマウスを使わなければ気持ちよくなれます!という啓蒙活動です。 Jupyter NotebookというとGUIが基本なのでどうしてもマウスを動かしてしまいますが、キーボード操作がかなり充実しています。あまり知られていない感じもしますが、かなり…

Dockerで稼働しているCeleryが停止時にタスクを完了しない問題と修正方法

DockerでCeleryを稼働しているとき、設定によってはタスクを安全に完了(Graceful Shutdown)できていない場合があります。それぞれの登場人物の仕様を理解して間違いないようにしましょう。 コンテナランタイムの仕様 AWS Fargateではコンテナを停止する際…

Optimum Neuronでresume_from_checkpointをするとTypeError None // int

先日の記事のように Optimun Neuronを使うとHuggingFace Trainerを簡単にAWS Neuron上で扱えます。 ですがまだあまり安定していないというのが正直なところです。今回の問題は0.0.23から0.0.25の範囲で確認済みです。記事に書いてしまっていますが、もし良け…

Optimun NeuronでHuggingFace TrainerをAWS Neuron上で簡単に動かす

Optimun Neuron を使うと、HuggingFace TrainerをAWS Neuron上で気軽に扱えるようになります。具体的には以下のように、TrainerとTrainingArgumentsを置き換えるだけです。 from optimum.neuron import NeuronTrainer as Trainer from optimum.neuron import…

SageMakerでのトレーニング時は事前にデータをエンコードしておく

SageMakerでトレーニングする際、強めのマシンを使う場合は事前にデータをエンコードしておくと良いです。データ量が多いと dataset.map(encoder) をするのも案外時間がかかります。そうするとGPUやTrnを有効活用していない時間も課金されてしまうので、事前…

HuggingFace Trainerで学習とハイパーパラメーターチューニングを両立するプログラムを書く

HuggingFace Trainer を使っていて、トレーニング用のプログラムとハイパーパラメーターチューニング用のプログラムを両立させる方法を考えてみました。 HuggingFace Trainerでは trainer.hyperparameter_search(...) メソッドを使ってハイパーパラメーター…

33歳になりました

33歳になりました。 「しかし、人間は負けるようにはできていない」老人は言った。 「叩きのめされることはあっても、負けはしない」 老人と海 / ヘミングウェイ 越前敏弥訳 過去分 blog.hirokiky.org blog.hirokiky.org blog.hirokiky.org blog.hirokiky.or…

SageMakerでのトレーニング実行前に FileNotFoundError: [Errno 2] No such file or directory: 'train'

SageMakerでトレーニング中に No such file or directory: 'train' というエラーが発生しました。 Traceback (most recent call last): File "/usr/local/bin/dockerd-entrypoint.py", line 28, in <module> subprocess.check_call(shlex.split(" ".join(sys.argv[1:</module>…

PyCon JP 2024はディープなトークが多くて良かった #pyconjp2024

2024年9月27日、28日はPyCon JP 2024のカンファレンスデーでした。 https://2024.pycon.jp/ 今回はトークの満足度が個人的にとても高かった。とくにコア開発、処理系、PEP Author(仕様策定に携わる人)のトークも充実しており、トークだけを見てもイベント…

「ストーナー」を読み終えて

前回書いたように株主総会や決算が終わり、やっとまともな呼吸ができるようになって、ストーナーという小説を読んでいました。途中までほんの少しずつ読んでいたのを、精神的な落ち着きが得られた今になって、一気に読み終えることができました。 本の感想は…

作った会社の第4期の決算が終わりました

株式会社ゼンプロダクツを創業して4年、第4期の決算と株主総会が終わりました。 前期に続いてかなり良い感じの成長を遂げ、投資をしていただいた2年前に掲げた目標も順にクリアできています。 ほんとうにありがたいことです。 自分で作った会社、プロダクト…

「Xで炎上したのだけ知ってる」という回数を減らしたい

「Xで炎上したのだけ知ってる」というとき、SNSで話題やトレンドだけ追いかけているのにその詳細はまったく知らないし興味もない、ということが多い。それを終わりにしたい。 パリオリンピック 2024が終わった。 僕はクライミング、やり投げやレスリングなど…

ガリが市営ジムに1年通って体重を7キロほど増やした

やったぜ!って話です。 もともと体重49kgの体脂肪率5%(誤差の範疇なので5%になる)だったのですが、今は56kgくらいに増やせました。 今が人生で一番健康だと思います。 僕は生まれてから30年間ずっと痩せてました。どうしても食えないし、太らないし…、…

【募集】DjangoCongress JPの開催地を募集します

こんにちは。今日は少しお願いがあります! DjangoCongress JPの開催地・会場を募集しています。 例年開催しているDjangoCongress JPですが、次回の開催地と会場がまだ決まっていません。とくに東京以外の場所で「ぜひここでやろう!」という方を求めていま…

結局、migrate機能ってなぜ必要なの? WebフレームワークのDBマイグレーション機能の意味を解説します

DjangoなどのWebフレームワークにはマイグレーションという機能が搭載されています。ですがこのマイグレーションという機能の必要性が分かりにくい(いまいちピンときていない人がけっこう多い)ので背景を踏まえて説明します。 マイグレーションとは何なの…

正しい生き方を求めた結果が今なら最初から自分の好きに生きたほうが良かったのでは

っていう時代になりつつあるのかなと感じるこのごろです。 というか皆んなインターネットに疲れてしまった。 まぁこれは完全に僕の戯言なのでデータがどうこうというわけではないです。エッセーでごわす。 何だかインターネットに疲れてしまって、インターネ…