前記事 でOCamlやってくぞ、と書いたけど結局Rustです。 Bluesky AT Protocolとエコシステムの現状 (〜2023/04) Rust版の実装 Lexiconとコード生成 自作Rust版実装: ATrium Lexicon schema コード生成 API設計 Lex CLI 今後 Bluesky Twitter代替の候補として…
動機 Why OCaml 学習方法 Real World OCaml Github Copilot と ChatGPT オンラインジャッジ (競プロ) Advent of Code その次? 所感 関数型という概念 OCamlの書き味 Rust, Python の経験 AIとの親和性 まとめ 某Nさんがここ最近Haskellとか勉強してて楽しそ…
yapcjapan.org おそらく YAPC::Tokyo 2019 以来?4年ぶりにオフラインのイベントに参加しました。地元開催ということで日帰りで行けてありがたい…! 最初だけちょろっと家族で参加。 子ゃーんたち連れて #yapcjapan 会場。異様な雰囲気のおじさんたちに囲ま…
毎年12月に開催されている Advent of Code に、2019年から参加している。 過去記事: Advent of Code 2019 に挑戦している - すぎゃーんメモ Advent of Code 2020 完答した - すぎゃーんメモ 2022年のAdvent of Codeにも挑戦していて、年が明けてしまったが先…
tkihiraさんの問題が面白そうだったので挑戦してみた。 2023年クイズ!上の例のように、数字の合間に四則演算(+−×÷)や括弧を入れることで、2023 を作ってください。- 数字の間に必ず演算子を 1 つ入れてください- ただし 9 と 8 の間には既に ÷ が入って…
自分の手元の環境でこんなことが起きた。 $ ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21] $ irb irb(main):001:0> "\x01\x80\x00\x00".index("\x01") => 0 irb(main):002:0> "\x01\x80\x00\x00".rindex("\x01") => 1 \x01 は 0…
memo.sugyan.com の記事を書いてから、先行事例の調査が足りていなかったなと反省。 Latent Seed の Gaussian noise 間での morphing はあんまりやっている人いないんじゃないかな、と書いたけど、検索してみると普通に居た。 why settle for a few images f…
#stablediffusion 完全に理解した pic.twitter.com/IR5yjnL07Y— すぎゃーん (@sugyan) August 31, 2022 ということで少し触って遊んでみたのでメモ。 Stable Diffusion をザックリ理解 先月公開された Stable Diffusion。 stability.ai 高精度で美しい画像を…
弊家庭ではSlackを日記ツールとして使っていて、 #diary channelに夫婦1日1投稿ずつ3~4行程度で今日あったこと・子の成長記録・感想などを書く、というのを続けてるんすよね。SNS感覚で気楽に書けて編集も出来るし遡ったり検索したりしやすくて何気に便利だ…
将棋棋譜の形式色々 KIF CSA USI/SFEN 文字表記 その他 JSON棋譜フォーマット(JKF, json-kifu-format) 自作parser, converter クレート公開 Rustでjson-kifu-format互換の将棋棋譜変換ライブラリを書き始めていて、ついに分岐までちゃんと対応した.kifファイ…
自作Rust製将棋合法手生成ライブラリ、計算の高速化のためBitboardの128bit計算をSIMDで行うようx86_64のAVX2、AArch64のNEON、wasm32のsimd128で動くようにそれぞれ実装して 各環境で多少速く探索できるようになった。https://t.co/h7Dz3X6BhT— すぎゃーん …
前置き 飛び利き計算いろいろ 基礎知識 縦型Bitboardでの香車の利き 角行・飛車の利き (Magic Bitboard / PEXT) Qugiyの手法 Leading/Trailing Zerosを使う 実験と考察 前置き Rustで将棋の高速合法手生成ライブラリを作り始めていて、 Rustでつくる もう一…
成果物 Rust製ソルバの改良 探索部の抽象化 探索打ち切りのための拡張 WebAssembly化 将棋Player (自作WebComponents) まとめ 成果物 https://sugyan.com/tsumeshogi-solver-wasm/ 局面を編集し指定し、その局面からの詰み手順を探索する。クエリパラメータ…
memo.sugyan.com の続き。 前記事時点でだいたい合法手の生成が出来ていたが、速度面でやや問題があった。 perft の計測してみるとRust版Aperyと比較して2倍程度遅い。 だいたい同じ手順になるよう実装しているはずなんだけど どうしてそんなに差がついてい…
昨年末に出版された「強い将棋ソフトの創りかた」という本を読んで、自分も将棋AIを作ってみたいと思った。 強い将棋ソフトの創りかた作者:山岡忠夫,加納邦彦マイナビ出版Amazon この本では主にPythonでの実装が紹介されていたが、自分は最近はRustが好きな…
memo.sugyan.com の続き。1ヶ月ほど経ってちょこちょこ更新して進化した。 残課題が幾つかあったが、そのうち幾つかは解決した。 探索無限ループ 上図のような問題で ▲4四飛成 △3二玉 ▲4一竜 △3三玉 ▲4四竜 △3二玉 ... を無限に探索してしまっていた問題。 …
ついカッとなって先週からRustで詰将棋ソルバを書き始めてしまい、ようやくdf-pnで何らかの解答を出せるようになったところ。ここからもうちょっと調整していくぞ、、 pic.twitter.com/XM9iPJqocv— すぎゃーん (@sugyan) November 2, 2021 というわけで突然R…
子ゃーんに喜んでもらいたくて、creative coding入門してp5.jsで色々作る練習してる。今はフワフワでキラキラな可愛いシャボン玉を表現しようと試行錯誤しています pic.twitter.com/qGeRYCelqh— すぎゃーん (@sugyan) October 6, 2021 動機・目的 上記の通り…
ISUCON11 予選おつかれさまでした。 ここ数年は参加者として予選敗退を繰り返してきたのだけど、今年はちょっと違う関わり方をしてみるか、と思い 「参考実装の移植」に立候補してみました。 isucon.net Node.js担当として採用していただき、ちょっと不安も…
乗り物大好きな子ゃーんに遊ばせてあげよう、と 救急車の3Dモデルデータを購入してThree.jsでグリグリ動かせるようにしてPWAにしてあげた pic.twitter.com/61MUg3MrOR— すぎゃーん (@sugyan) August 1, 2021 子(1歳5ヶ月)が最近すごく消防車とか救急車に興味…
memo.sugyan.com の記事の続き(?)。 ある程度の学習データを収集して学習させたモデルが出来たので、それを使って実際に色々やってみる。 StyleGAN2-ADA 学習 mapping出力と生成画像 生成画像の属性推定結果から潜在空間の偏りを抽出 表情推定 顔姿勢推定 …
SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Whee…
昨年はじめて真面目に挑戦した、Advent of Code。 memo.sugyan.com 今年もやるぞー!と意気込んで、12月になる前からちょいちょいTwitterで宣伝したりした甲斐もあってか、今年は日本国内でも挑戦している人が少し増えたようだった。嬉しい。 僕は昨年に引き…
memo.sugyan.com の記事を書いてから10ヶ月も経っていた…。 Twitterからアイドルの自撮り画像をひたすら収集 dlib で顔検出し、各部位座標を利用して正規化し切り抜き Webアプリで管理、選別作業 選別作業自体を分類モデルに学習させて半自動化 というところ…
ISUCON10。 今年はあっという間に募集が終わって不参加かな、とも思ったけど 声かけていただき id:Soudai さんと id:kamipo さんと、昨年と同じチームで出場した。 ISUCON9 予選敗退した - すぎゃーんメモ ISUCON9 本選12位だった - すぎゃーんメモ とはいえ…
memo.sugyan.com の続き。 StyleGAN2 は "mapping network" と "synthesis network" の2つのネットワークで構築されていて、画像の生成を行う synthesis network への入力 dlatents_in を変化させていくことで様々な変化を出せる、というものだった。 前回は…
学習データはまだまだ収集途中だし 学習もまだ完了とは言えない状態なのだけど、なんとなくそれっぽい顔画像は生成できるくらいまでは出来てきているので、それを使った実験をしてみている。 学習した生成モデルを使って morphingを試してみてる #StyleGAN2 …
memo.sugyan.com の続き。 ようやくTensorFlow.jsを使ってブラウザ上で動かせるようになったので、そのためにやったことメモ。 うぉぉついにようやく、 #StyleGAN2 のpretrained-modelを #TensorFlowJS で動かすことが出来たぞ!!!!!!!!! pic.twitte…
memo.sugyan.com ということで 多少集めることができた画像データを使って、StyleGAN2を使って生成を試してみた。 github.com StyleGAN2 がゼロから学習してアイドルの顔画像っぽいものを習得していく過程、こんな感じ pic.twitter.com/jTofmFBlxF— すぎゃー…
動機 TensorFlowの登場をきっかけに 機械学習によるアイドル顔識別 という取り組みをしていて、3年以上かけてコツコツとアイドルの自撮りを収集してラベルをつけてデータセットを作ってきたけど、 アイドルヲタクはもう辞めてしまって 現場にも全然行かなく…