サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
nonbiri-tereka.hatenablog.com
皆さんこんにちは お元気でしょうか?忘年会シーズンで疲れ果てていたら、1日遅刻しました。 qiita.com この1年、生成AIのブームが来ており、Kagglerの皆様もChatGPTを使っている方が多いのではないかと推測しています。 ということで、本日は私の使い方を簡単に紹介しようと思います。 コンペの使い方 ChatGPTをうまく利用すると生産性の向上が見込めます。 反面、ハルシネーションも生み出すので、使い方を誤ると致命的です。 そのため、出力を信じず、基本はチェックができるものにしておくのが良いでしょう。 具体的な利用内容 コンペ理解 説明文の理解 専門や馴染みのないものに関しては、正直、説明文を理解するのも大変です。 その時にはChatGPTに説明してもらう事が可能です。 www.kaggle.com データの理解 データの内容も専門分野であれば正直わからないことが多いです。 そ
皆さんこんにちは お元気でしょうか。冬だというのに、GPUと暖房で半袖装備でも過ごせています。 今年、長きにわたるMaster生活の終演を迎え、ようやくGrandmasterになることができました。 そこで、Grandmasterになるまでの経験をこちらに書き記しておこうと思います。 この記事はKaggle AdventCalendar2021カレンダー2、25日目になります。 qiita.com 著者の背景 Kaggleへの取り組み 1-3年目 4年目 IEEE's Signal Processing Society Avito Demand Prediction Challenge Home Credit Default Risk 5年目あたり 6年目 Global Wheat Detection 7年目 Shopee - Price Match Guarantee Hungry Ge
皆さんこんにちは。 コンペで頑張ったので疲れました。 さて、Google Landmark 2021が終了し、Retrieval5位(金)、Recognition12位(銀)となりました。 本日は自戒と反省により、クラウドで30万円消失した話を 記録として書こうと思います。皆さん私を見て反面教師にしてください。 事象 9月入ってからLandmark2021に参加し、Google Cloud Platform、通称GCPを利用していた。 主な利用はGoogle Cloud Storageのみで、ほぼ容量課金だろうと高をくくっており、課金請求の上限など入れ忘れてました。 すると9/18に久々に請求額を確認すると32万ほどの請求額がありました。 さすがに目玉が飛び出て、調査にあたったといったものになります。 課金内容を確認したら原因はすぐにわかり、チームで対策を打ちました。(私が慌てて学習にスト
皆さんこんにちは。 お元気ですか。私はもう小麦そのものは食べる専門です。 本日はKaggle Notebookに関するトリックを紹介しようと思います。 Kaggle Notebook 黒魔術紹介 コードを呼び出すほうがリソース管理が楽 外部パッケージインストール 例外 小数点以下の結果に注意 コミットまでの速度を早くする 最後に Kaggle Notebook Kaggle NotebookはKaggle上で動作する実行環境みたいなものです。 Kaggle上で動いているJupyter Notebookと解釈しても差し支えないでしょう。 昨年からこのKaggle Notebookで推論のみ提出コンペが増加しています。 推論のみ提出の嬉しいこととして、実行環境による差分がでないことがあります。 画像や自然言語処理は無限のモデルを生成するためのマシンリソースで殴ると勝ちやすいことがありますが、こ
皆さんこんにちは お元気ですか。私は小麦を暫く食べるだけにしたいです。(畑で見たくない‥) さて、本日は最近勢いのあるモデルのライブラリ(pytorch-image-models)を紹介します。 pytorch-image-modelsとは 通称timmと呼ばれるパッケージです。 PyTorchの画像系のモデルや最適化手法(NAdamなど)が実装されています。 Kagglerもこのパッケージを利用することが増えています。 github.com 従来まで利用していたpretrained-models.pytorchは更新が止まっており、最新のモデルに追従できていないところがありました。 このモデルは例えば、EfficientNetやResNeStなどの実装もあります モデルの検証も豊富でImageNetの様々なパタンで行われているのでこの中で最適なものを選択すると良いでしょう。詳しくはこちら
皆さんこんにちは お元気でしょうか。最近は宅配スーパーによりますます外出しなくなっています。 本日はTPUをPyTorchで使ってみます。 GPUと比較して、TPUは汎用性をなくした代わりによりDeepLearningに必要な演算を高速にできるようにしたものです。 Why TPU? TPUとは? どの程度高速なのか どうやって使うのか PyTorch-XLA 準備 インストール 実装 インストール部 結果可視化 学習 最後に Why TPU? TPUとは? TPUはニューラルネットワークの演算専用のアーキテクチャです。 一言で使うモチベーションをお伝えするのであれば「速いから」の一言です 他の用途には利用できない分、大規模な乗算と加算を高速に演算できます。 詳細は次のサイトを見ていただくのが良いと思います。 www.atmarkit.co.jp cloud.google.com どの程度高
皆さんこんにちは お元気でしょうか。 本日はEfficientNetをPyTorchで利用します。 私も頻繁に利用しますが、時々忘れてしまうのでメモ EfficnetNetについて EfficientNetとは? 幅、深さや解像度に関係性を導き出されたニューラルネットワークのアーキテクチャ。 SoTAを出したが、従来より8.4倍小さく、6.1倍の高速化を実現しています。 EfficientB0-B7(今はそれ以上もあった気もしますが)まで存在し、精度・性能により使い分けできます。 Kagglerたちは最近このニューラルネットワークをソリューションに利用するようになりました。(ResNetより増えている気がする) arxiv.org ライブラリのインストール 使うライブラリのインストールは簡単です。 pip install efficientnet-pytorchgithub.com Eff
皆さんこんにちは お元気でしょうか。COVIT-19起因で引きこもっているため、少しずつ自炊スキルが伸びていっています。 以前、実験管理に関していくつかのソフトウェアを紹介しました。 その中で、MLFlow Trackingが一番良さそうではあったのでパイプラインに取り込むことを考えています。 もう少し深ぼって利用方法を把握する必要があったので、メモ代わりに残しています。 nonbiri-tereka.hatenablog.com MLFlow Trackingのおさらい MLFlowとは MLFlowはプラットフォームです。機械学習のデプロイやトラッキング、実装のパッケージングやデプロイなど幅広くサポートしています。 その中ではいくつかの機能があり、主にMLflow Trackingを実験管理に利用している人が増えています。 Trackingの機能については申し分がなさそうで、リモートサ
皆さんこんにちは お元気ですか。最近自炊が少しずつ捗ってきました。 本日はデータ分析でよく起こる「Memory Error」の対策を書いていこうと思います。 今回のはGPUではなく、CPUです。 そもそもなぜ「Memory Error」と遭遇するのか 大量のデータを解析する、もしくは、大量の特徴量を扱うからです。 または、途中の巨大途中処理が原因で載らなくなったとかですね。 その結果、マシンが落ちることもデータ分析している人が陥るよくあることです。 その場合の処方箋を書いていこうと思います。 メモリ対策 不要な変数のメモリを開放する。 一番シンプルで、もういらないから消してしまえという方式です。 方法は単純です。変数をdelして、ガーベジコレクション(不要なメモリを回収し、空ける方式)を実行することです。 例えば、次の通りです。 import gc import numpy as np m
皆さんこんにちは。 お元気でしょうか。GoogleQA20thで悔しいけど楽しかったです。 自然言語処理のみのコンペを真面目に挑んだのは初で、勉強になることが多かったです。 今回は実験管理ツールの紹介と比較をします。 特徴がわかる範囲で簡単に実装も書いているので、参考にしてみてください。 実験管理ツール 実験管理の必要性 実験管理ツールの要件 実験管理ツールの紹介 Excel Excelとは 良い点 欠点 mag magとは サンプル実装 良い点 ここが少し残念 Weights and Biases Weights and Biasesとは サンプル実装 良い点 ここが少し残念 MLFlow サンプル実装 良い点 ここが少し残念 まとめ 最後に 実験管理ツール 実験管理の必要性 コンペティションや研究では多くのハイパーパラメータや構造などに対して様々な変更を加えます。 私の場合の例ですが、
皆さんこんにちは お元気でしょうか。冬寒いです。いい布団ほしい。 さて、本日は画像を混ぜ合わせる系のData Augmentationを紹介します。(CutOut含む) 画像を回転、拡縮、平行移動させるのはよく知られている手法でしょう。 ただし、CutOut、Mixupを筆頭に、画像のコンテキストそのものに加工したり、混ぜ合わせたりする手法も時折使われるようになってきました。 その手法に関して、本記事では紹介していきます。 Data Augmentationの手法の紹介 CutOut arxiv.org 有名な手法の一つであるCutOutです。 学習中に正方領域をマスクすることにより、頑強性(robustness)を獲得し、精度が向上しました。 シンプルな手法ではありますが、当時のSoTAを獲得しています。 ※実装 github.com Random Erasing arxiv.org 画
皆さんこんにちは お元気ですか。私は元気です。 暫くKaggleしかしていなかったせいか、今年のブログ投稿頻度がひどいことになっています(がんばります。。) それはさておき、本日はKaggleのCompetitonで便利なPyTorchのライブラリを紹介してきます。 昨年は、PyTorchの中でもAlbumentationのライブラリを紹介しました。 共通 Pytorchのモデルが容易になるライブラリ Ignite Catalist Lightning Apex NLP Transformers Image Processing Pretrained Pytorch EfficientNet-PyTorch segmentation-pytorch mmdetection Albumentation 最後に 共通 Pytorchのモデルが容易になるライブラリ PyTorchのモデルを書くに
皆さんこんにちは。 お久しぶりです。本日はPyTorchを用いて、Kaggleをする際に便利なソフトウェアを紹介します。 この記事はPyTorch Advent Calendar 15日目です。 qiita.com 私自身、画像コンペィションでは、豊富な実装からPyTorchを利用するケースが多いです。 PyTorchで今回使っているライブラリを2点紹介したいと思います。 Pretrained PyTorch Pretraining modelを用いてFine turningをすることで、 初期から学習したモデルよりも精度が向上します。 PyTorchには公式で配布している以上に、 github上に様々なPreTrainingモデルを公開されています。 github.com 学習済モデルの利用 from pretrainedmodels.models.resnext import resn
皆さんこんにちは お元気ですか。ちゃっかりKaggleで物体検出のコンペもはじまりました。 Deep Learningは相変わらず日進月歩で凄まじい勢いで進化しています。 特に画像が顕著ですが、他でも色々と進歩が著しいです。 ところで色々感覚的にやりたいことが理解できるものがありますが、 あまり勉強していなかった分野として物体検出系のアルゴリズムがあります。 所謂、Faster RCNN, SSD, Yolo、最近、Mask R-CNNが該当します。 ただ、今回は、個人的に物体検出のアルゴリズムで なかなか調べても出てこない、あれここどうなってるんだっけ?と思った部分の解説をします。 そのため、案外変なところの解説かもしれません。 Faster RCNNの技術要素から説明しようかなとも思って作りました。 ※数式、記号等の細かい説明は論文を参考にしてください。 3/7 15:15 Anche
皆さんこんにちは。 お元気ですか。Advent Calendar執筆して以来、久々です。 今更ですが、あけましておめでとうございます。今年もよろしくお願いいたします。 いつものようにTwitterを見ていると 以前紹介したJupyter Labのbetaがリリースとのことで、次の記事が回ってきました。 blog.jupyter.org せっかくなのでまた、お試しで使ってみました。 ※Alpha版を試した記事はこちら nonbiri-tereka.hatenablog.com 使ってみた インストール インストールは簡単にできます。 condaの場合 conda install -c conda-forge jupyterlab pipの場合 pip install jupyterlab 起動 起動します。起動方法も簡単です。 jupyter lab デフォルトの設定であれば、http://
皆さんこんにちは お元気ですか。やっと書き切りました。 実は今年ももう少しです。 昨年度はカノジョを作成し、その前は友利奈緒を真面目に解析しています。 いやぁ時の流れは早いものです。 これを踏まえ、今年は何をしようか考えました。 Chainer Advent Calendar 25日目で、皆様の妄想力を具現化したいと思います。 qiita.com 妄想について モザイク処理外し モザイク処理とは モザイク処理の種類 モザイク処理アルゴリズムの実装 データセットの収集 Googliser モザイク処理外しのアルゴリズム モザイク処理外し Globally and Locally Consistent Image Completion Chainerで構築したモザイク外しアルゴリズム Generator Discriminator Updater 結果 Generator GAN おまけ 入力
皆さんこんにちは お元気ですか。年末に向けて燃え尽きようとしています。 OpenCVアドベントカレンダー第22日です。 qiita.com 今回、PythonのDataAugmentationで最速の方法を探してみます。 画像処理のDeepLearningでは、頻繁にDataAugmentationが使われています。 このData Augmentationは画像に結果がない程度に変換を加え、 ニューラルネットワークに入力する手法です。 以前、こんな資料を作りました。 How to use scikit-image for data augmentation from Hiroki Yamamoto www.slideshare.net DataAugmentationにも様々な手法がありますが、次の処理する場合が非常に多いです。 画像をファイルから取得する。 リサイズ アフィン変換 左右反
皆さんこんにちは お元気ですか。週末の発表資料も作っています。 本記事は自然言語処理アドベントカレンダー第13日です。 qiita.com 画像処理ではデータをアフィン変換などで変形して、 画像を拡張する処理(=Data Augmentation)が知られています。 変換などをかけて過学習を防ぐ役割が1つとしてあります。 今回は、自然言語処理でもData Augmentationを実現したいと思います。 テキストのData Augmentationの意義 自分でデータセットを作る場合に、全てを網羅して1つ1つの単語が変わった場合を 作り上げるのは非常に困難で、時間がかかります。 そのため、一定の問題ない範囲(=結果が変わらない範囲)で データを拡張する試みをすることで精度やロバストな学習ができる可能性があります。 WordNetの説明 Wikipediaより WordNet(わーどねっと)
皆さんこんにちは。 お元気ですか。師走の12月らしく締め切りに追われています。 この記事は「Deep Learning フレームワークざっくり紹介 Advent Calendar 2017」第7日目です。 qiita.com DeepLearningフレームワークの1つ、WebDNNのご紹介をします。 このフレームワークを調べたきっかけとして、「MakeGirls.moe」があります。 MakeGirls.moeは萌画像生成のWebサービスで、WebDNNを使用して提供しているようです。 make.girls.moe WebDNN WebDNNは東京大学 原田・牛久研究室が作成した深層学習モデル(DNN)を ウェブブラウザ上で高速実行するためのオープンソースフレームワークです。 次のサイトのアワードに掲載されるほど、良いソフトウェアでもあります。 Open source software
皆さんこんにちは お元気ですか。アドベントカレンダー真っ盛りですね。 本日は「python Advent Calendar 2017」のアドベントカレンダー第5日です。 qiita.com 自然言語処理には様々なライブラリ(NLTKやCoreNLP)があります。 せっかくの機会として、本記事では紹介が少ないspaCyを紹介します。 spaCy spaCyとは spaCyはPythonの発展的な自然言語処理のライブラリです。 実際に使われていることを想定しており、英語、ドイツ語、フランス語、スペイン語に対応しています。 トークナイザーは日本語もあるとのこと(確かJanomeで動作します)。 github.com 次のリンク先には他の自然言語処理ライブラリの アルゴリズムの観点や精度(Dependency parsing、Named entity comparison)が 載っており、他のライ
皆さんこんにちは お元気ですか。今回の三連休は二郎食べて満足しました。 Chainerにはじまり、PyTorchなどdefine by runで ニューラルネットワークを計算するフレームワークがあります。 このdefine by runは非常にRNN系のニューラルネットワークを書く際に重宝しています。 そして、10月末にTensorFlowからもdefine by run用の インターフェースが試験的に提供されました。それがTensorFlow Eagerです。 ※define by runが不明な方はこちらへ s0sem0y.hatenablog.com TensorFlow Eager TensorFlow Eagerは次の公式の記事で紹介されています。 ただし、この機能はPreview段階です。 通常使う場面では問題ないと思いますが、念のため何か起こっても問題ない環境で利用してくださ
皆さんこんにちは お元気ですか?私は年末の師走フラグが立っています。 少し前(この界隈ではだいぶ前っぽい)にYandex社からCatBoostが発表されました。 これが発表されたことは知っていたのですが、時間が取れなくて利用してなかったソフトウェアの1つです。 CatBoost CatBoostはYandex社が開発した勾配ブースティングをベースとした機械学習のライブラリです。 catboost.yandex 公式サイトには次の特徴が記載されています。 過学習を減らす。・・・独自のアルゴリズムによって実現した。 カテゴリ特徴量の対応・・・前処理を行わなくてもカテゴリ特徴量に対応をしている。 ユーザフレンドリなAPI・・・コマンドラインツールもしくは、Python,RのAPIをサポートしている。 公式ページ記載のベンチマークは他のLight GBMやxgboostよりも よく見え、かつ新しい
皆さんこんにちは お元気ですか。私は元気です。 分析は基本的にPythonを使って行います。(大体Pandasですが・・・) Pandasを利用すると色々できます。が、ふとどうするんだっけ処理が増えていきました。 自分のメモがてらカテゴリを分けて記録に残したいと思います。 最後のほうは特徴量の作り方集になっています。 Kaggleで実際に使ったことがある処理も数多く掲載しました。 思いついたら随時、追加しようと思います。 準備 ファイル操作 読み込み 書き込み テーブル操作 1行ごとに処理をする。 複数列を取得する。 選択操作 テーブル条件の指定 複数条件の指定 NaNを埋める。 カラム、テーブルの統計情報を取得する。 完全一致の列を発見し、除去する。 日付操作 日付から日などの情報を取得する。 2つ以上のDataFrameの結合操作 内部結合 外部結合 2つの結合処理 集計操作を使った特
皆さんこんにちは。 お元気ですか。雨天が増えてきて、出かけるのが億劫になっています。 PyTorchを使って画像認識データセットCIFAR10を分類しました。 KaggleでPyTorchユーザが増えてきたこともあり、勉強しました。 最近、この手のチュートリアルやExamplesに良しなにできる データ処理専用クラスを予め作っていることがあります。 この状態は新しいデータセットを試したい場合に不便なので、 そのような内容が含まれないCIFAR10のコードを記述しました。 PyTorch PyTorchとは Deep Learningのフレームワークです。 柔軟なネットワーク構築やGPUを利用した高速な行列演算を得意としています。 Chainerをforkして作られたので、実装方法が非常に似ています。 噂ではございますが、Chainerより高速だったりそうでなかったり。 http://pyt
皆さんこんにちは お元気ですか。昨日食べた中華そばおいしかったです。 定期的に実行するJobを作成・実行する場合何を使っているでしょうか? メジャーなツールであれば、cronがあります。 しかし、このツールはCUI、かつ、 他に色々追加したいこと(リトライ、通知)などを 設定したい場合に大変で、面倒です。 そこで、Rundeckです。RCO&RLSさんの勉強会に触発されて使ってみました。 Rundeckとは? 一言で表すとジョブスケジューラです。 ジョブを作成し、実行間隔の管理、通知、実行方式などを管理できます。 GUIで実行コマンドを管理できるので、非常に管理しやすく 過去のログも確認しやすい、成功失敗で通知ができるなど、様々なメリットがあります。 個人的に思いつく使い道は機械学習バッチ処理ですね! Rundeckの起動 早速、実行用のjarファイルをダウンロードしましょう。 runde
皆さんこんにちは お元気ですか。私はGWでリフレッシュして、生き返りました。 Kaggleをやっているとき(特に画像などの長い場合)にリモートで 今学習されているかどうか、誤差はどうかなどのモデルの 様子が気になることはありませんか? 私は画像認識系のコンペを実際に行っている時に、気になることがあります。 これどうしようかと考えていたのですが、歩いている時にふと思いついたので実装しました。 このアイデアの実装のために、新しいChainerのExtensionを開発しました。(Trainerを使う想定です) アイデア Slackであれば外出中も見れると考えました。 そのため、学習の途中経過(lossなど)を投稿すれば見れる! 実装イメージは次の図に掲載しました。 コードを見た限りだと、Extensionで実装できそうだったので、トライしました。 Extensionの実装方法 Extensio
皆さんこんにちは お元気ですか。私は家の近くに一風堂ができて感動しています。 本日はCUDAを使ったGPUプログラミングに挑戦します。 最近、ふと思うことがあります。 GPUをよく使いますが、GPUの心みたいなものがわからない状態です。 そこで、GPUプログラミングに挑戦し、コードを書きながらGPUのことを 知ることができたらと思って書いてみました。 GPUわからないとTwitter呟いていたら、 @dandelion1124さんにおすすめの書籍を紹介してもらいました! GPUがどんな仕組みで動作しているのか非常にわかりやすいです。 CUDA C プロフェッショナル プログラミング impress top gearシリーズ 作者: John Cheng,Max Grossman,Ty McKercher出版社/メーカー: インプレス発売日: 2015/09/24メディア: Kindle版こ
皆さんこんにちは お元気ですか。私は元気です。 VIsual Studio CodeでC++の環境を構築します。 C++のコードを書く時に案外いいエディタがなくて結構困ります。 今まではsublime text+ pluginを使っていましたが、デバッガ厳しい、 補完難しいなど色々困っていました。 そこで、試しにVisual Studio CodeでC++の環境を作ってみました。 Visual Studio Code Microsoftが作っているWindows, MacOS, Linuxで動作する 軽量高速な高機能エディタです。 (Visual Studio Code - Visual Studioより) ダウンロードは次のサイトを参考にしてください。 code.visualstudio.com 設定方法 まずは、Visual Studio CodeにC++の環境を構築します。 C++の
皆さんこんにちは お元気ですか。Kaggle Meetup面白かったです!またあいましょう。 今日はDockerを使った分析環境構築の話をしようと思います。 Dockerを使って何を作ろうかと思ったら、分析環境さっさと作りたい・・・ cudnn等の更新が面倒であることが思い浮かびました。 なんとなく、Dockerを使えば解消できるのではないかといったことを思いつき遊んでみました。 Dockerとは Dockerはコードやシステムライブラリ、システムで利用するのを実行するために 必要な全てが含まれているものをラップするソフトウェアらしい。 OS上で仮想環境を立ち上げ、ソフトウェアなどの実行ができます。 www.docker.com Dockerのメリット 公式サイトによれば、次のとおりです。 階層化されたファイルシステムから構築されるので、ディスクやイメージが効率的 DockerコンテナはL
次のページ
このページを最初にブックマークしてみませんか?
『のんびりしているエンジニアの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く