まだタイトルない

アウトプット用です

Kaggle Days Championship Tokyo で優勝しました!

こんにちは

先日行われた Kaggle Days Championship Tokyoに参加してきました。

参加はyukiさん、kutoさん、sqrt4kaidoさんとの4人チームです。

結果は83チーム中で優勝することができました。

おそらくこれでバルセロナのFINALイベントに参加できることになると思います。スペインは行ったことのない国でとても楽しみです。(無事現地に行けたらいいな

ちょっとタスクに触れる

ソリューションはコチラに、私が使ったノートはコチラに公開されています。

今回のタスクはD1からD10のそれぞれ内容が異なるデータテーブルが与えられ、そのテーブル内の欠損値を埋めるというものでした。

所謂imputingというタスクで sklearn にも KNNImputer というものが用意されているみたいです。今回のコンペが終わってから知りました。

csvが10個と見なきゃいけないデータが10種類なので、モデル数も多くなることが想定され4人で分担して進めました。この進め方に関しては後から他チームの公開したノートを見ると10個のデータすべてに対して動くパイプラインを作るという進め方がありました。

何れにせよまだこの4時間コンペ3回目ですがデータ見る時間がたりなさすぎでは?と言うのはちょっと気になりました。

さて、私の担当はD3で、まずはA列を予測するLightGBMベースラインを作成しました。作ったところ精度が芳しくなくかなり焦りました。

A列を見てみると1行目から最後の行まで値が上昇し続けていたためこの列に関しては前後の値を使ってfillすることに決定。同時にほかのカラムについて調べるとsortされてはいなさそうだったのでそのままLightGBMで予測しました。(B列以降はscoreもよさそうだったので一安心。

カテゴリ列はかなりの不均衡だったので予測でなく頻度の高いほうで埋めるだけにしました。ここまでで時間は少なくなってたので残りの時間でできるだけD9を学習/予測しました。

提出は各々予測したものをベースラインに組み込んでどれくらいスコアが変わるか観察という感じでした。

今回は分担しましたが一つのデータに対してあれこれ議論しながら進めるコンペが楽しみです!

おわりに

最近やっと準備したテーブルデータに対するLightGBMのパイプラインがあったおかげで比較的サクサク進みましたが、それでも各所でコードは調べながらやっていました。調べる回数が減らせるようにもっと頑張っていきたいです。
まだKaggle Days Championship は何回かあるのでできるだけ参加していい成績をとれるように頑張ります!

3月はカメラについて勉強しました

f:id:teyoblog:20220404224258p:plain

こんにちは

youtubeなどいろいろなものに逃げていたとはいえこの2年は機械学習メインでやっていて色々と他に勉強してみたいものは棚に上げていました。

一応一段落したので3月は趣味の一つのカメラについて少し勉強しました。

勉強のテーマ

  • 焦点距離の違いを知って新しいレンズを買う
  • 構図について知る

読んだ本

まずは初学者向けっぽい本。イメージセンサーの素子の並び方の話なんかはあとから読む本にはなかったのでこの本を読んだから学べたことになります。ベイヤー配列は緑の素子が多いから表現力が高いらしい。

次に読んだのはこの本、いろんな焦点距離の写真が見れるので、望遠は200あるとどれくらいいけるかの参考になりました。

ナショジオの本は名著とあちこちで見たので最後にそのナショジオの構図の本を買いました。

「適当に撮ってもなんかの比率に当てはまるんじゃね?」と思うくらいいろんな構図が紹介されてました。

2冊目のレンズの本はあまり推されてはいませんがこれ読んでから3冊目のナショジオ本読んだのは結構いいルートだった気がしました。

あとカメラ買った頃に一緒に買ったこの本が積まれてたのでこれから読もうと思います

色んな本を読んで感じたこと

  • 構図は色んなパターンがあって覚えきれない。適当に言いと感じた風に取れば何かに当てはまりそう
  • 簡単なのはやはり1/3のやつ
  • 広角はダイナミックな風景やパースを付けて撮るべきで近くのものを正対して撮るのには向いてないというのは注意点
  • 何らかの意図を込めて写真を取ることが結局重要何だなということがわかった
  • ナショジオはまた読み返す

レンズ買った

もともと16-36しかもってなくて望遠を欲してました。今回TAMRONの28-200がきになっていて、200でも十分だと思いそのまま28-200を購入しました。

作例

f:id:teyoblog:20220404224333j:plain 欲を言えば桜はもう少し少ない枝があればよかったのですが、カラフルな遊具が奥にあったのである程度形が残る程度のぼかしにして撮ってみました。望遠効果である程度大きく写っていて満足です。

f:id:teyoblog:20220404224349j:plain 猫が大きく撮れる日が来るとはと感動しております。

今後

  • 勉強したと言っても本を読んだだけでそれから外に出て写真を取りまくることは出来てないのでこれから写真を撮っていきたいです。
  • 自分のスタイルは写真撮りに出かけるというよりかは、見たい景色行きたい場所に行ってそこの風景をいい感じに伝えたいのでスナップより?なんですかね。そういう手工の本とかをまた読んでみたいです。
  • また、今回はレタッチについては何も勉強できてないので今後の課題ですね
    • ちなみにsonyのEditかAffinity photoを使っています。

4月5月はkaggleのためにテーブルデータ周りの修行をしていきます。それでは

KaggleDays in Mumbai に参加してきました!

こんにちは昨夜行われた KaggleDays x Z by HP Championship Meetup in Mumbai に参加してきました。

ありがたい英語の講演を聞いてから、直前にタスクが発表され、4時間で戦うコンペです。今回はNLPが題材でした。

モチベーションとしては機械学習タスクに取り組むときのアジリティが低い自負があったため短期間コンペで練習したいというところからです。

結果

public 41st => private 42nd / 87

f:id:teyoblog:20220311110151p:plain

感想と取り組みタイムライン

まずは4時間のうちに簡単なサブとやってみたいアイデア1つを実装してサブで来たのは良かったです。ただ、Jigsaw(前回参加したコンペ)のフォルダで実験したり色々と準備不足だらけだったので新しいタスクするときに押すボタンを用意しないといけないですね・・・やはり実際に短いコンペに参加することで足りないものを実感できるので参加してよかったと思います。

コンペの流れとしてはとりあえず埋め込み表現取得してLGBMでポンする方針に決めました。データの説明を読んだところマルチリンガルデータだったためbert-base-multilingual-casedで埋め込み表現を作成。しかしこれが思ったより遅くて....というか想像してたよりデータが多くてベクトル化だけで2時間強かかった気がします。普通にBERTモデルでDeepで分類してみようと思いましたがこれも時間かかりそうなので今回は諦めました。

待ち時間で言語カテゴリ、sim1,2,3だけを使ったLGBMを作ってみて0.424、埋め込み表現を使って0.529でフィニッシュ。上位とは差が大きいのでこのあと公開される解法で勉強します。

ソリューション図はこちら
f:id:teyoblog:20220311110203p:plain

ノートも公開しました。
www.kaggle.com

終わったあと Universal Sentence Encoder が有効だったと言ってる方が何人もいてなにそれ知らない状態なのでアジリティだけでなく選択肢も少ないことを実感しました・・・悔しい。

Universal Sentence Encoderについて解説されているものはこちら。

recruit.gmo.jp

今回非常にいい時間を過ごせたので次回からのkaggledaysも参加したいし準備もしたいと思います。

Kaggle Competitions Master になりました!

先日のJigsawコンペの銀メダルが確定して Kaggle Competitions Master になることができました。

twitterではたくさんのいいねとお祝いの言葉をいただき、承認欲求が満たされました。ありがとうございます。

これを目標にずっと頑張ってきたことなので報告的なポエムを書こうと思います。

※以下、competitionsは省略します。

kaggleの戦績は下記です。 運よく最初のコンペで銅メダルが取れて、鳥コンペでもとれたので意外といけるのか?というところから全然メダルが取れなくなり、ここ半年でいい流れのままmasterになったという流れですね。

f:id:teyoblog:20220221222118p:plain

f:id:teyoblog:20220221222141p:plain:w500 f:id:teyoblog:20220221222147p:plain:w500 f:id:teyoblog:20220221222153p:plain:w500

時系列で振り返る

各々のコンペについては振り返り記事をそのときに描いているのでそちらを参考ください。

2018,2019年

気が付いたらkaggle master を目標にひたすらコンペに出ていたのですが、もともとは2019年頃(2018かも?)から"AI分かる人になりたい"というぼんやりとした目標で勉強をし始めていたみたいです。ただしカメラロールを見ても痕跡が残っていないためほとんど成果は出せていなかったのだと思います。主催してたアナログゲーム会の写真がたくさん出てきました。ちなみにおすすめのゲームは宿命の旅団です。

目標に対してダラダラしている現状を打破するために2020年は1000時間AIに関する勉強をするという具体的な目標をたてました。 1000時間のうちで下記の3つをやることも決めました。

  • 3月にG検定
  • 6月に統計2級
  • kaggle始める

つまり2019年まではほぼ何もしていないです。

2020年

f:id:teyoblog:20220221222209p:plain:w500

というわけで2020年から気合で勉強をしていく私ですが形から入りたいタイプなのでこの年から京都の北野天満宮さんに初詣に行くようになりました。学問のお守りと絵馬を書きます。こんな神頼みは大学受験依頼です。

まだkaggleの文字はないですね。

この年のことはよく覚えているのですが、1月にpythonの勉強をして、3月にG検定合格、統計検定2級もCBTで受験し合格、GWはゼロつく1と2、kaggleスタートブックを読んで満を持してkaggleデビューとなりました。

最終的に勉強時間1000時間クリア、kaggle expert(銅×2)で2020年は終わりました。

年末にはkaggleアドベントカレンダーにも参加させてもらいSNSでもkagglerとのつながりが徐々に増えてきました

https://teyoblog.hatenablog.com/entry/2020/12/19/000000

2021年

f:id:teyoblog:20220221222315p:plain:w500

2021年も北野天満宮に、前年買った学問のお守りを返却して新しいものを購入ということもしました。

基本的には勉強になりそうな本を買って読みつつも基本的にコンペに出ていました。

真面目に取り組んだものだと鳥2(チーム銅)、MLB(ソロ銀)、圧力(チーム銀/ルール違反でLBからは消滅)、LuxAI(ソロ)とそれなりに上位にはいけるようになってきました。

Pytorch Lightning

この年の途中からPytorch Lightning を使うようになりコードが少しきれいになりました。Lightningで対応できない学習方法は本質ではないと割り切るようにしました。

Weights & Biases

Weights & Biases の導入もこの年にしました。実験間の学習曲線の比較につかっています。

2022年

f:id:teyoblog:20220221222349p:plain:w400

2022年もやはり北野天満宮から始まりました。このときはちょうどpetfinderのチームを組んでいたのでそのコンペの勝利祈願もしてきました。

そのpetfinderで金メダルを獲得し、その後参加したJigsawで銀メダルを獲得しMasterになりました。

今年に入ってとんとん進んだため特筆することはないですが、2021年の圧力コンペやkaggler忘年会の円があってpetfinderのチーム

雑にテーマごとに書く

知ってることが増えた。理解してることが少し増えた

当たり前ですが知ってるものはとても増えました。それに伴い世間の事例もなんとなくわかるものも増えてきました。勉強を始める知人とかの質問にも答えれることが多いかなと実感しています。

理解してることが少し増えたというのは、知ってるけど理解までしてないことが結構多いためこれは今後理解してるものを増やしたいなと思ってます。

距離学習を頑張って理解したことが印象に残ってます。埋め込み表現すらわからなかったので大変でした。

コンペの理解度が深くなった

ソロ銀2枚とった要因はコンペへの理解が深く出来るようになったからかなと思ってます

MLBでは与えられたデータとテストデータの期間から追加データを使ってより直近のデータで学習出来る状態にすることが重要だと思いそれが銀につながったと思ってます。

Jigsawでは公開リーダーボードの性質からcvを信じてBERTモデルを数合わせる戦略にしたのが刺さったと思ってます。

論文サーベイはほとんどしなかった

全く推奨されたものではないですが、英語論文を必死に読んで理解して実装する時間を捻出できないため最新の技術は諦めて過去コンペの解法やdiscussions、公開ノートを読んで取り込めるものは取り込むことを優先していました。

特に参加していたコンペのコードや、atmacupのdiscussionはよく参考にしていました。

避けていたので論文の実装などのスキルは全くありません。

本について

人生で一番本にお金をかけてる時期だと思います。漫画や小説もあまり買わないのでそこら辺込みでも

私の中で特に印象に残っている本はゼロから作るシリーズの1-3とkaggleで勝つ本です。これらの本が土台にあったおかげで新しく学べたことや進めたことが多かったように思います。ここからは改善点になるのですが、他にも評判のいい技術書を買うことは多かったです。買って読むと達成感がありますからね。ただどうやら自分は本を読んで自分の力にする能力があまりないようで、その本読んだ割にはその状態?みたいなことが増えてきました。今後は買うからにはどうするか考えたり、INPUT/OUTPUTのバランスとかを考えていきたいです。

出来ないことを放置してきた

docker,Gitでのバージョン管理,スクリプトで実験,pipelineなどほとんどわからない状態でここまで来てしまいました。コード遺産もあまりないです。pythonの環境はanacondaのbase一個で仮想環境がないです。

今後は出来るようになりたいことを出来るようにすることを優先にコンペに取り組んでいきたいなと思っています。

今後について

あまりこういう事は言うべきではないのですが振り返ると勉強を頑張るぞと決めた2020年の頭から感染症がはやりはじめ、外での活動に制限がされ始めました。これが勉強には追い風になって、もともと旅行が好きな私が長期休暇に引きこもって勉強だけすることが(休みを旅行に割けなくて)もったいなく感じなくなりました。断る飲み会も遊びの予定もなく割とノンストレスに自粛期間を過ごしていました。

ちなみに私はmasterになったあとまさに今感染症の陽性ということで自宅療養しています。ことしはいろいろなことが起きそうです・・・

さて、現状の自分ができることが思ってたkaggle masterのそれとかけ離れています。上にもありますが出来るようになりたいことを出来るようにすることを優先に、kaggleに限らずいろんなコンペに出て学んでいきたいと考えています。

他にも色々我慢してきたので機械学習以外で学びたいことも学んでいけたらいいかなと思ってます。

終わりに

相変わらずの構成力のなさで行きあたりばったりな記事になってしまいました。本当に申し訳ない・・・

twitterなどでこういうこと効きたいとか要望いただいたら追記すると思いますのでご意見お待ちしております。

それではまたどこかのコンペのLBで!

【Kaggle挑戦記】Jigsawコンペ4 に参加してきました。【#14】

f:id:teyoblog:20220209220342p:plain

こんにちは。

2021年11月8日から2022年2月7日まで開催されていたJigsaw Rate Severity of Toxic Commentsに参加してきました。

前回のPetコンペが終わって、コードの提出とリフレッシュをしてから始めたので2週間位の取り組みでした。

結果は2,329チーム中の41位で銀メダルを獲得することができました。

またこの結果よりcompetitions master に昇格することが出来ました!また別でポエム書くと思います。

それでは振り返りに入ります。

コンペ概要/データ・評価方法

wikipediaのコメントの有害コメントの深刻度の評価をする。

関連コンペ

タイトルに4とつけたのですが、過去に同様なコメントの毒性に関するコンペが行われていました。

私はいずれにも参加したことがなかったの上記コンペのデータやタスクについて理解しておく必要があり少し苦労しました。JigSaw1,2は振り返り記事が殆どなかった。。。

データと評価方法

本コンペのデータとしては下記の3つが与えられていました。

  1. comments_to_score.csv
  2. sample_submission.csv
  3. validation_data.csv

comments_to_scoreにはcomment_idと対応するtextが含まれます。validation_dataにはworker,less_toxic,more_toxicが含まれています。複数人のアノテーターに2つのtextのうちどちらがより毒性が高いかを判断してもらったデータの集合になります。

毒性順位や正解ラベルはなく、validation_dataと過去コンペのデータも使ってうまく学習してくれという感じでした。

評価方法としては、textに対して毒性の強さを数値でラベリング(大きいほうが強い)して、2つのtextをpickしてアノテーターと同じような評価をどれだけ再現できるかというものです。

同じテキストペアを複数人のアノテーターに渡して、それぞれ別の判断になる場合がありCVの理論値は0.824ということがディスカッションで言われていました。

予測するデータと評価する方法のイメージは図のようになると思います。

f:id:teyoblog:20220209220305p:plain

validation_dataが過去コンペデータと重複している

validation_dataには約14000種のtextがあり、その中の5-6割は2016年コンペのデータと重複していることが指摘されていました。CV計算や、追加データの作成で少し気をつける必要があったり、5年前の文章とtestの文章は同じ時期のものなのか?ということが気になるところです。

f:id:teyoblog:20220209220324p:plain

解法

f:id:teyoblog:20220209220331p:plain

上図のような感じです。

Data

2種類の追加データを作成。

  1. 本コンペで渡されていた validation_data.csv と同じ形式のもの
  2. 毒性があるかないかのバイナリラベルのデータ

いずれのデータも毒性のないデータが多すぎるので毒性があるデータ数に合わせて追加データを作成しました。

CV

MarginRankingLossでの学習時はJigsaw CV strategyを使用

BCEで学習するときはKFold

model選択

公開ノートとPublicLBはTF-IDF系のものが暴れまわってたのですが、publicが5%な点と、CVはBERT系のほうが高いことから、今後のためにもBERT系で攻めることにしました。discussionでは小さめのアーキテクチャのほうがいいようなことが書かれていましたが、手元では大きいほど良さそうなので学習時間が現実的な中でなるべく大きめのものを学習しました。

hugging face 便利だけど色々取り回しが違っていてtimm以上に苦労したのですがこちらのrepositoryで勉強しながら進めました。感謝しかありません。

アンサンブル

weightの調整方法がよくわからなかったので、optunaを使って最適化させました。

cols = ['less_toxic_pred', 'more_toxic_pred']
oof = []

oof.append(pd.read_csv('../input/jigsaw4-model2/bi003_deberta-large/oof.csv',usecols=cols).values)
oof.append(pd.read_csv('../input/jigsaw4-model1/exp008_roberta-base/oof.csv',usecols=cols).values)

def calc_score(weight):
    pred = np.zeros([n_data,2])
    for p, w in zip(oof,weight):
        pred += p*w
    score = (pred[:,0] < pred[:,1]).sum()/pred.shape[0]
    return score

class Objective:
    def __init__(self, n_models):
        self.n_models = n_models

    def __call__(self, trial):
        weight = [trial.suggest_uniform('weight' + str(n), 0, 1) for n in range(self.n_models)]
        return calc_score(weight)

max_iter = 1800
SEED = 29
objective = Objective(n_models)

sampler = optuna.samplers.TPESampler(seed=SEED)
study = optuna.create_study(sampler = sampler,direction='maximize')
study.optimize(objective, n_trials = max_iter, n_jobs = -1)

参考にしたサイト https://materialsinformaticsbeginner.blogspot.com/2021/01/blending.html

その他

  • delta TF-IDF は普通のTF-IDFよりもCVは良かったですが、Bertに匹敵するところまでは行かなく、fitにラベルの入力が必要でその辺の調節も必要なため諦めました。
  • 出来ればバイナリのモデルは回帰として解きたかったが、3種類の外部データでラベルに違いがあり正規化することが手間でできませんでした。
  • バイナリデータ作成に関してもtoxicかnontoxicかの閾値を調整することでよりよく出来たのではないかという課題事項が残っています
  • 公開ノートではやっていたRidgeでなくLGBMも試してみましたがそこまで良さそうではありませんでした。

最後に

コンペ終了後にコレするだけで上位に行けるという情報や、手元に金圏のスコアのサブがあったりとなんともいえない状態ではありますが、それでもデータを増やしてBERT系モデルをたくさんアンサンブルすればある程度いいところにはいけるだろうという狙いはいい結果につながったので良かったです。学びは多かったと思います!

【Kaggle挑戦記】PetFinderコンペ に参加してきました。【#13】

f:id:teyoblog:20220123210905p:plain:w400

こんにちは。

2021年9月23日から2022年1月14日まで開催されていたPetFinder.my - Pawpularity Contestに参加してきました。

結果は3,537チーム中の2位で金メダルを獲得することができました。

今回は自分が取り組んだことや考えたことについて少し書いていこうと思います。

今回の2位という結果に関してはチームメンバーにつれてきてもらったと思っています。ソリューションはkaggleのディスカッションに投稿されてますのでそちらをご参照ください。

tkmさんが本コンペの動画も上げていらっしゃいますので是非ご視聴ください。

www.youtube.com

コンペ概要

犬と猫の写真のPawpularityスコア(かわいさ?魅力?)を予測することで、写真の魅力を判断するモデルの構築。より魅力的な写真を設定することでペットのプロフィールのページビュー増加につなげたい。

CNNとVision Transformer(とNN)

私が参加したとき公開ノートやディスカッションを見るとswin transformerが主流の様子でした。チームを組んだときもメンバーはswinを中心に実験とスコアの更新をしていました。

今画像タスクをする場合は大きくCNN系(efficientnetとか)、transformer系(swinとか)、NN系(MLP mixerとか)のモデルがあるので組み合わせたアンサンブルは伸びるのかを確認することにしました。

簡単にeffnetとswinを比較してやはりswinのほうがよさそうだと確認した後にcnnを模索しはじめます。

結果としてeffnetはうまく学習させられませんでした。MLP Mixerは比較的いいCV出せましたが最終的に足を引っ張っちゃって採用はされず・・・

よくCNNは局所的(Local)な特徴、ViT系は(Global)な特徴を見るような話を聞きますが、本タスクは人間が見て反応するかどうかがターゲットに関わってくるということもありViT系のモデルが強いのではないかなと思いました。(MLP系は何系に強いのでしょうか?CV最前線を読む限りViT側のタイプな気がしますが・・・)

augmentation

結論はナニモワカランですが、上述したように人が見てどう感じるかがターゲットの値に関わってくる(とおもってる)ので完全に印象が変わるVerticalFlipを使うのをやめました。また、SNSだとサイドとかコントラスト上げとけば受けが良いみたいな所あるんですけど、同様にサイドやコントラストをいじるAugmentはターゲットの値かわってくるのでは?と思ってColorJitterも外しました。左右の反転や軽微な回転のみの軽いaugmentationにしました。

小さめなモデルでaugmentationをsoftなものにしたところCVが0.18改善しました。

ただ、大きいモデル途中までハードにAugmentationして、後半にソフトにAugmentation、最後にAugmentation無しでやったものもいい感じだったので、Augmentationは軽くするのが正解なのか良くわかりません。

チームマージしてアンサンブル

マージして3人チームになって、お互いのサブをアンサンブルしたら銀まで伸びました。基本的にはVit系のモデルを時間が許す量使うものだったと思います。

f:id:teyoblog:20220123210837p:plain

このあともじわじわと各々のCVを伸ばしはするものの上とのスコアの差は大きくなにか見つけなきゃアンサンブルも頭打ちだねという状態でした。

見つかる(見つけてもらった)

f:id:teyoblog:20220123210845p:plain

弊チームソリューションの 2nd-stage GBDT modelが刺さったときです。

ここからLGBMで効く特徴を見つけていく事になりギアが上がりました。

sub task

前回コンペのBreed1が効くということで、Breedを予測するモデルやmixed_breedかどうかの2クラス分類などのモデルを作って見ましたが効くことはありませんでした悲しい。

結局NaNはNaNでいいみたいな感じ・・・

また、並行でいろいろ試していたnfnet-f3が(かなり重いけど)CNNの割にいい精度を出し、最終モデルにも組み込んでもらえました。

その他試したこと

  • Yolo
    • yoloを使ってiscatだったり、isdogの特徴、検出された物体の大きさや確信度は全く効きませんでした。
  • 100を学習しない
    • 100はクリッピングされてそうなので学習データから覗いてみましたがそれもまた意味がなかったです。
  • backboneの重みの固定やbnの固定

etc...

最後に

今回金を取ることができてマスターまであと銀以上1枚になりました。早くなりたい思いはありますが、狙って頑張れば銀を取れるほど実力があるとも思ってないので、驕らずに次のコンペも頑張っていきます。

2021年振り返りと2022年の目標

こんにちは

絶賛コンペ期間中ということもあり、雑にですが今年を振り返り、来年の目標を立てておこうと思います。

昨年の振り返りと今年の目標はこちら。

teyoblog.hatenablog.com

こんな目標を立てていたみたいです(完全に忘れてた。

勉強は機械学習始めてから累計2000時間になりましたが、ポモドーロの継続と公開できるメモはありません・・・。

 

ふりかえり

f:id:teyoblog:20211231131301p:plain

今年の戦績はこんな感じ、GLR、Coleridgeはドロップしました。

ここ(圧力)ちょっと消えてますね。。。

 

当初と比べると人のコードも何となく読めるようになってきた気がしてますがまだまだ実装が遅いなとチームを組んだとき特にわからされています。

 

今年一番の変化は40万くらいかけてRTX3090がのったオンプレマシンを導入したことだと思います。常に走らせられてはいませんがいい買い物をしたと思ってます。

 

f:id:teyoblog:20211231131903p:plain

また、今年買った本はこんな感じ 全然読めてねぇ・・・

 

あらためて今年参加したコンペをブログ内の記事から振り返ってみると、これができなかったあれが難しかったという記憶がたくさん思い出されます。また、チームではたくさんのモチベーションと経験をもらえました。メンバーの方々ありがとうございます。

 

来年の目標

  • コンペティションマスターになる
    • チーム金1枚
    • ソロ銀1枚
  • 実装と実験のスピードを上げる

 

おわりに

この一年、コンペの振り返りを通して一昨年以上にたくさんのkagglerからフォローしていただけた気がしてます。2022年は是非一緒にコンペできたらなと思っていますので改めてよろしくお願いいたします!