月別アーカイブ: 2023年1月

全てに目を配るのは難しいわけで

ここのところ、ちょっと忙しい日が続いています。

自分自身がメインで動いているわけでない案件であったとしても、メンバーが担当している案件で問題が起きれば駆り出されるわけです。

駆り出されること自体はしょうがないけど、よくよく話を聞いて確認していくと、前提が誤っていることも有り、その誤った前提の上で仮説が組み上げられてうまく行ってない。
そして、現実問題として結構そこからの挽回に頭を悩ませる事態になっている。
手遅れとまでは言わないが、胆力を求められる。

初期の段階からキャッチアップして、細かいところまで目を配っていればもしかしたら防げた話なのかもしれない。
一方で、それはどう考えてもスケールしない。

もちろん、自分自身がもともと持っている案件自体も動いているわけなので、早晩自分が潰れることは目に見えているわけで、それをやる訳にはいかないんです。

結局のところ、目を配りながら自走できるところまで育て上げる必要があるわけだけど、自分自身がポンコツなのに、、と思わなくもない。

いずれにしても、いろいろなことが重なりすぎて、流石にここのところはちょっと疲れたな。

今日はもう寝よう。

Docker で GPUを使いたい

少し前から OpenAI が提供している whisper を触っています

業務でお客さんとMTGをする機会が最近増えてきて、会話をしていると会話に集中してしまって、メモを取り忘れてしまうんですよね。
端々ではメモをとっても、やっぱり抜けてしまう事はあったり、話を聞いていて

「お、それはこういうことかな?」

って考えている間に話が進んでしまっていたり。。。
ということで、できるだけ録音をするようにしています。

どうせなら文字起こしを手軽に行いたいというのがモチベーションとなります。
将来的には要約まで自動的にやってくれるとよくて、それはもう現実的なレベルまで世の中は来ているわけですが。

Dockerfile

参考にさせてもらったのはこちら

Dockerを使ってOpenAIのWhisperをサクッと試す
https://zenn.dev/kento1109/articles/d7d8f512802935

FROM pytorch/pytorch:1.9.0-cuda10.2-cudnn7-runtime

WORKDIR /workspace

RUN apt-get update && apt-get install -y \
    build-essential \
    gcc \
    git \
    ffmpeg \
    && rm -rf /var/lib/apt/lists/*

RUN pip install --upgrade pip

RUN pip install git+https://github.com/openai/whisper.git 

試してみるとエラーになった

root@dfbc095388f8:/workspace# whisper mtg02.m4a --language ja --model large
Traceback (most recent call last):
  File "/opt/conda/bin/whisper", line 5, in <module>
    from whisper.transcribe import cli
  File "/opt/conda/lib/python3.7/site-packages/whisper/__init__.py", line 12, in <module>
    from .decoding import DecodingOptions, DecodingResult, decode, detect_language
  File "/opt/conda/lib/python3.7/site-packages/whisper/decoding.py", line 514
    if prefix := self.options.prefix:
               ^
SyntaxError: invalid syntax

cudaのバージョン問題

参考にさせていただいたページにもあるように、pytorch をPCにあった cuda バージョンにする必要があります。

cudaバージョンの確認方法は、コマンドプロンプトで

>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:59:34_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

という形で表示されます。

ところが、イメージには11.7用のものが見当たらないんですよね

pytorch/pytorch
https://hub.docker.com/r/pytorch/pytorch/tags?page=1&name=11.

最新は11.6のようなので、こちらを使用してみる

FROM pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime

modelのダウンロードエラー?

実行してみると。。。

root@401ac01bcb2c:/workspace# whisper mtg03.m4a --language ja --model large
  0%|▏                                    | 12.3M/2.87G [00:02<11:43, 4.37MiB/s]
Traceback (most recent call last):
  File "/opt/conda/bin/whisper", line 8, in <module>
    sys.exit(cli())
  File "/opt/conda/lib/python3.10/site-packages/whisper/transcribe.py", line 310, in cli
    model = load_model(model_name, device=device, download_root=model_dir)
  File "/opt/conda/lib/python3.10/site-packages/whisper/__init__.py", line 108, in load_model
    checkpoint_file = _download(_MODELS[name], download_root, in_memory)
  File "/opt/conda/lib/python3.10/site-packages/whisper/__init__.py", line 62, in _download
    raise RuntimeError("Model has been downloaded but the SHA256 checksum does not not match. Please retry loading the model.")
RuntimeError: Model has been downloaded but the SHA256 checksum does not not match. Please retry loading the model.

ん、Modelのダウンロードに失敗した?
リトライしろってあるのでもう一度やってみる

root@401ac01bcb2c:/workspace# whisper mtg03.m4a --language ja --model large
/opt/conda/lib/python3.10/site-packages/whisper/__init__.py:48: UserWarning: /root/.cache/whisper/large-v2.pt exists, but the SHA256 checksum does not match; re-downloading the file
  warnings.warn(f"{download_target} exists, but the SHA256 checksum does not match; re-downloading the file")
 23%|████████▌                             | 667M/2.87G [01:34<05:55, 6.71MiB/s]

先に進んだので大丈夫じゃーん!って思っていたら、ここから進まなくなった。。。

今日はここまでにしよう。。。

1週間ぶりのRUN

というわけで、今日は1週間ぶりのRUNで30km。
ペースは5分ちょいで、久しぶりの割に普通に走ることができた。
何とか、何とか維持はできるか・・・?

出社してます

今週は寒波が来たということも無いわけではないんですが、それ以上にリモート勤務から出社勤務に切り替わりました。
私の場合は千葉→東京という出勤になってしまうので、片道2時間弱・・。
仕事もちょうどトラブったりなんだりで忙しく残業もしているので帰るのは22~23時くらいとなると、流石に平日は厳しいのが実情です。

とは言え、これからそういう状態が常態化していくことを考えると、対策を取らなければならないのも事実。

平日の昼休みを使って、いい場所を探してスピードランをするというのがパッと思いつく打開策なので、会社の周辺を物色しようと探し始めています。

もしくは曜日を決めての帰宅RUNですね。
流石に東京都心から千葉までを走る気はないですが、電車のある一定区間を走るというのは有りなのではないかと。

もちろん、その分帰宅が遅くなってしまうことを考えると、家事の観点からは更に大変になってしまうのでよく考えなければならないですが、これまで走ったことがない場所を走るということは、新たな発見に繋がったりして、純粋に仕事の気分転換としても機能するのではないか?と思い始めています。

在宅か出社か

私のように、非常に長時間の通勤が必要になることを考えると、出社という選択肢は多くの疑問を感じるところです。

一方で、単純に仕事のパフォーマンスとして考えた時に、私のように優柔不断な人間は出社したほうが集中することができるということもまた事実。
もちろん、これが良いというつもりはサラサラなく、在宅でもしっかりと集中することができるのが一番です。

とは言え、隣に同僚がいて、ふとしたことを会話しながら進めることができるというのも悪い話ではなく、要はバランスなのだと考えています。

バランスではあるけれど、大人の事情ってやつででなければ行けないシーンもあり、モヤモヤを抱えていないといえば嘘になるわけですが、どうせならその状況を楽しむことができるような仕掛けを用意して、疲弊しないように。

無論、転職ということも手段の一つではあるだろうが。

Qiita AdventCalendar だめだった

年末に行われた、Qiitaのアドベントカレンダー。
先日、受賞者が発表されました

何件か参加させてもらいましたが、あえなく一つも受賞ならず!

まぁ、受賞された方々の内容から考えるとクオリティが足りなすぎるんですよね。
いや、わかっちゃいますがそんなに思うようにはいかないものです。

とは言え、毎年開かれるQiitaのこのイベント。

一年の総決算として何かを書き記したいという思いはあるので、今年も挑戦するべく、もうちょっとクオリティや独創性が高い。そして実用性のある記事をかけるよう、本業を頑張らないといけないですね。

あー

あー

明日も頑張ろう

今日も今日とて低空飛行

いや、今日はひどかったです

金曜からのトラブル対応はもちろんのこと、その他諸々、うまくいきません。

良くも悪くも感情と言うか気分の浮き沈みの影響が大きすぎるんですよね。。。私は。

そんな時、どうやって復活するのか。

これまで、色々と試しました。

観葉植物おいたり、、、

お香炊いたり、、、

走ったり

ゲームしたり

漫画読んだり

結局のところ、気持ちがパフォーマンスに大きく影響を受けるので、これを何とか上げていかないといけない。

今日はそれに思いっきり失敗した感じでしたね。

とりあえず、無理矢理でも動かないといけない

明日も頑張らな。

楽しむ力

今日は夕食後、次男がモノポリーをやりたいと発案。
家族全員でモノポリーをやることに

長男や長女は、どちらかというと漫画読んだりゲームしたりと、一人で遊ぶことが多いけど次男は周りを巻き込んだ形の遊びをよく提案してくれるので、イイです。

もっとも、同じくらい相手をからかったりふざけたりするので困ったものですが。

子供たちはそれぞれよくもまぁこれだけバラバラな性格になったもんだと思わずにはいられませんが、ボードゲームをやっていると、調子に乗って大盛りあがりするんですよね。

全力で楽しもうとする。
そんな姿に、圧倒されてしまいます。

翻って、考えてみると随分とつまらない毎日を送ってしまっているなぁと思わずにはいられない。

Goerli Testnet ETH Claim キャンペーン

buildspace もようやく、 React のフロントエンドから Goerli Testnet にDeployしたスマコンに接続するところまで終了

途中、どうしてもうまくいかないな?と時間がかかる場所があったのですが、チュートリアルとしてその時点ではうまくいかない状態というオチでした。

時々ある罠ですが、ちょっと困るものです。。。

Goerli Testnet への Deploy は、以前にも誰ジェネでやってます。

誰でもできる!ジェネラティブNFT開発
https://crypto-code.jp/materials/create-generative-nft

ただ、その時もテスト用のEthが足りなくて、そもそもDeployできないという事態になったんですよね。結果としてその時は諦めてしまった過去があります。

そんな中、こんなTweetが!
過去に Mainnet / Goerli / Sepolia で Deploy したことがある人に 10 Goerli ETHをくれるという!

両手を上げて行ってみましたが、、、、 2022/11/15 時点でDeployしている必要があるとのこと。
そして、私がGoerliで試していたのが 11/16 。。。

うがあああああああああ

という訳で、見事に対象外でもらうことができませんでした。。。
これは、ちょっとせつなすぎる。。。

いつものことといえばいつものことですが、本当に間が悪い。。。

どうにかならないものか。
どこかにお祓いに行ったほうが良いのかもしれません

トラブルの金曜日

今日は三男の誕生日ということで、会社に出社はしたものの早々に退散しようとしていたのですが。。。
予定していた作業が想定したとおりにいかずにトラブルへ発展。

実害が生じるようなトラブルではないものの、色々と対応をする必要が生じる自体になってしまいました。

まぁ、それはそれとして、金曜日って何かとトラブルが発生しやすいように感じます。

なんでなんだろうかな?というと、わかりやすいところでは、面倒なことが後回しになった結果、比較的トラブルになりやすいような難易度の高いものが週の後半に集中するため、打率が高いというところでしょうか。。。

でも、それだけでは説明できないような問題も起きるのが不思議なところ。

決戦は金曜日とはよく言ったものですね。。。

私はさらに先延ばしをしてしまい土日にコソコソ仕事していることもあるので、更に酷い。
いや、良くないのはわかっているんです。

2023年はそんな先延ばしと決別できるようにしていかないといけませんね。

反省

SoftwareDesigne 2月号

定期購読しているSoftware Designe の2月号が届きました!
今月号はDDD!!!!

見てみると、増田さんが執筆されているじゃありませんか。

ずいぶんと前ですが、DevLove で増田さんが登壇されていた回に見に行ったんですよね。
確か恵比寿だったかな・・・?

もちろん、原点ともいうべきエヴァンス本も持ってはいるのですが、いずれのDDD本も結局最後まで読めていないという体たらくな現状が今の私を作り上げている!!

と、非常に残念な状態ではあるんですが、ちょうどこれから新しい案件で、このあたりの整理をしていかないと行けないんじゃないかな?と思うような事案が勃発。

Software Designe編集部はすべてを見越しているはず!!という訳で、今年はDDDをしっかりと学んで実践で使っていくことができるように頑張ってみたいと思います。

増田さんの本、ちゃんと読まないとですね。。。

Fletが面白そう

Pythonだけでクロスプラットフォームなアプリを作れるFletについて
https://qiita.com/NasuPanda/items/48849d7f925784d6b6a0

Qiitaからのニュースレターで紹介されていた上記記事、面白かった。

FletはFlutterをベースとしているそうなので、その点も気になるところです。

The fastest way to build Flutter apps in Python
https://flet.dev/

UIの作り方や指定の仕方が今っぽくない形をしているけど、これがサクッとプロトタイプ的に使えるのであれば面白いかな。

ということで、ちょっとどこかで触ってみたいと思っています。