chevron_left

メインカテゴリーを選択しなおす

cancel
tereka
フォロー
住所
文京区
出身
西宮市
ブログ村参加

2014/10/21

arrow_drop_down
  • ChatGPTはKaggleでどう使えるか?

    皆さんこんにちは お元気でしょうか?忘年会シーズンで疲れ果てていたら、1日遅刻しました。qiita.comこの1年、生成AIのブームが来ており、Kagglerの皆様もChatGPTを使っている方が多いのではないかと推測しています。 ということで、本日は私の使い方を簡単に紹介しようと思います。 コンペの使い方 ChatGPTをうまく利用すると生産性の向上が見込めます。 反面、ハルシネーションも生み出すので、使い方を誤ると致命的です。 そのため、出力を信じず、基本はチェックができるものにしておくのが良いでしょう。 具体的な利用内容 コンペ理解 説明文の理解 専門や馴染みのないものに関しては、正直、…

  • AIで作った画像をAIは見分けられるのか!?

    皆さんこんにちは tereka114です。最近はNLP関係の技術調査も兼ねて、FB3をやってます。 最近の社会の流れを見ていて、少し時間の片隅でやってみたい事ができ、やったので、実験とその結果を書いておきます。 導入 今年はStable Diffusionが発表され、また、mimic、NovelAIなど画像の生成に関して 社会に劇的なインパクトを与えるモデル/サービスが発表されてきました。 今までの生成モデルもそれなりにおおっと言われてましたが、ここまでインパクトが世間的に出てくることはほとんどなかったのではないかと思っています。 私もお仕事であまり関係をしない都合上、GAN以降のモデルはノー…

  • Kaggle Grandmasterになるまでの7年間の軌跡

    皆さんこんにちは お元気でしょうか。冬だというのに、GPUと暖房で半袖装備でも過ごせています。 今年、長きにわたるMaster生活の終演を迎え、ようやくGrandmasterになることができました。 そこで、Grandmasterになるまでの経験をこちらに書き記しておこうと思います。この記事はKaggle AdventCalendar2021カレンダー2、25日目になります。qiita.com 著者の背景 Kaggleへの取り組み 1-3年目 4年目 IEEE's Signal Processing Society Avito Demand Prediction Challenge Home …

  • Google Cloud Storage(GCS)でうっかり30万以上溶かした話

    皆さんこんにちは。 コンペで頑張ったので疲れました。さて、Google Landmark 2021が終了し、Retrieval5位(金)、Recognition12位(銀)となりました。 本日は自戒と反省により、クラウドで30万円消失した話を 記録として書こうと思います。皆さん私を見て反面教師にしてください。 事象 9月入ってからLandmark2021に参加し、Google Cloud Platform、通称GCPを利用していた。 主な利用はGoogle Cloud Storageのみで、ほぼ容量課金だろうと高をくくっており、課金請求の上限など入れ忘れてました。すると9/18に久々に請求額を…

  • 分散深層強化学習ライブラリHandyRLをコンペで使ってみた。

    皆さんこんにちは お元気ですか。ブログ書きながら、当チームのガチョウを見守っています。最近までHungryGeeseに参加しており、このコンペでHandyRLライブラリには大変お世話になりました。 このコンペでHandyRLを改造して使ったので、そのポイントを記録として残しておきます。 HandyRLとは HandyRLの使い方 基本編 Tips 自己対戦以外でエージェント作成 様々なエージェントで評価 自己対戦モデルを一定期間保存する 学習済モデルの実行 決定的動作で動かす 感想 HandyRLとは 一言で言えば、PyTorchで利用できる軽量な深層分散強化学習用のフレームワークです。 実際…

  • 新しくKaggle用のマシンを調達しました(2020年ver)

    皆さんこんにちは tereka114です。本日はKaggle Advent Calendar24日目の記事です。 今回はKaggle用マシンで購入したものとパーツ選びの基準をご紹介します。qiita.com Kaggle用マシン Kaggle用マシンがなぜ必要か どのような要件のマシンが必要か パーツの選定 基本方針 各々のパーツ CPU メモリ GPU SSD 電源 マザーボード PCケース ファン 最後に Kaggle用マシン Kaggle用マシンがなぜ必要か Kaggleをするためにはノートパソコン一台でも十分です。 しかし、勝つには、最近の巨大データ、画像、NLPコンペの増加に伴いハイ…

  • Kaggle Notebookで使えるトリックを紹介します

    皆さんこんにちは。 お元気ですか。私はもう小麦そのものは食べる専門です。 本日はKaggle Notebookに関するトリックを紹介しようと思います。 Kaggle Notebook 黒魔術紹介 コードを呼び出すほうがリソース管理が楽 外部パッケージインストール 例外 小数点以下の結果に注意 コミットまでの速度を早くする 最後に Kaggle Notebook Kaggle NotebookはKaggle上で動作する実行環境みたいなものです。 Kaggle上で動いているJupyter Notebookと解釈しても差し支えないでしょう。昨年からこのKaggle Notebookで推論のみ提出コン…

  • 種類が豊富な画像モデルライブラリpytorch-image-models(timm)の紹介

    皆さんこんにちは お元気ですか。私は小麦を暫く食べるだけにしたいです。(畑で見たくない‥)さて、本日は最近勢いのあるモデルのライブラリ(pytorch-image-models)を紹介します。 pytorch-image-modelsとは 通称timmと呼ばれるパッケージです。 PyTorchの画像系のモデルや最適化手法(NAdamなど)が実装されています。 Kagglerもこのパッケージを利用することが増えています。github.com従来まで利用していたpretrained-models.pytorchは更新が止まっており、最新のモデルに追従できていないところがありました。 このモデルは例…

  • atmaCup#5へ参加しました!

    皆さんこんにちは。 お元気ですか?私は元気です。本日までatmaCup#5に参加し、Public12th, Private18thでした。 問題設定 装置に関連する問題で、テーブルと信号が提供されました。 評価はPR-AUCで、Positive sampleが少ないこともあり、スコアが安定しない問題でした。 取り組み 序盤 1日目から信号の問題だったので、 1DCNNに最初から取り組んでいました。その地点でPublic 1位になっていたのですが、CVがうまく安定せず、 ここから、なかなかスコアが上がらなくなっていました。 中盤 CNNのチューニングや様々な謎トリック(interpolate m…

  • PyTorch XLAでTPUを操作する

    皆さんこんにちは お元気でしょうか。最近は宅配スーパーによりますます外出しなくなっています。本日はTPUをPyTorchで使ってみます。 GPUと比較して、TPUは汎用性をなくした代わりによりDeepLearningに必要な演算を高速にできるようにしたものです。 Why TPU? TPUとは? どの程度高速なのか どうやって使うのか PyTorch-XLA 準備 インストール 実装 インストール部 結果可視化 学習 最後に Why TPU? TPUとは? TPUはニューラルネットワークの演算専用のアーキテクチャです。 一言で使うモチベーションをお伝えするのであれば「速いから」の一言です 他の用…

  • Albumentationの拡張方法

    皆さんこんにちは お元気ですか。週末はALASKA2の準備をはじめてみました。さて、今回のAlbumentationの拡張方法を書いておきます。 AlbumentationはKaggleなどの画像コンペでよく利用されるData Augmentation(データ拡張)のライブラリです。 Albumentationは様々なシチュエーションを想定して継承元のクラスがいくつかあります。 これらを継承し実装することで新しいAugmentationのクラスを開発できます。今回はどうすればAlbumentationで新しいData Augmentationのクラスを作成できるのかを記載します。 Albume…

  • PyTorchの研究開発を加速する「pytorch-pfn-extras」を紹介します

    皆さんこんにちは お元気ですか。ついにクーラーが必要になってきました。 電気代が心配ですがなんとかなるでしょう。本日はPyTorchの研究開発を加速する「pytorch-pfn-extras」を紹介します。 pytorch-pfn-extras pytorch-pfn-extrasとは PyTorchを使った研究開発の促進のために開発されているライブラリです。 こちらの開発元はChainerを開発していたPreferred Networks社によるものです。github.comChainerの頃にはあったTrainerに似ている構成(厳密にはクラス構成が異なる)やIgnite連携が用意されてお…

  • Bengali.AIの解説をYoutubeでやってみました

    皆さんこんにちは お元気ですか。動画編集処理スキルがなさすぎて非常に困惑しております。さて少し前のコンペティションになりますが、Bengali.AIのコンペティションの解説をYoutubeでやってみました。 ※Bengali.AIのコンペのページはこちらです。www.kaggle.comコロナで集まって反省会するのも難しいご時世ですので、このYoutubeの流れに乗ってみるのもありかなと思ってはじめてみました。 堅苦しく集まって見るよりも、なにかの暇つぶしのお供ぐらいで見てもらえればと思います。Bengaliはベンガル語の手書き文字画像から3種からなるベンガル語の構成要素を当てるコンペです。 …

  • CMakeを使ってビルドのみしている人のためのCMake入門

    皆さんこんにちは お元気ですか。ついに自宅のパスタがなくなりそうです。さて、本日のテーマはcmakeです。 大半の人のcmake、実はこんな感じなのではないでしょうか。 インストール時にお世話になる(おまじない)けど、何もわからない(文字通り) 仮に見たとしても何をやっているのかわからない。 私もある程度、これらに該当する人なわけです。 しかし、このおまじない系はまると長時間はまってとても困るといった問題がありました。 ということで改めてcmakeをきちんと勉強しておこうと思った次第です。 CMake インストール Ubuntu Mac(Homebrew) CentOS CMakeを使ってC+…

  • NGBoostを使ってみた

    皆さんこんにちは。 お元気ですか。自粛ムードはまだまだ続きそうですね。本日は少し前の発表された勾配ブースティングの手法NGBoostを紹介しようと思います。 NGBoostについて NGBoostとは? NGBoostは予測の不確実性をも推定する勾配ブースティングのアルゴリズムです。 従来までは、例えば温度を推定する場合、30度しか出ませんでした。 しかし、このNGBoostでは、どの程度30度らしいかも推定できます。 Kaggleよりも業務でフォールバックの機能として使えるので、便利で使い方の幅も感じるところです。github.com インストール 他のライブラリ同様、pipコマンド一発でイ…

  • Pythonの環境を管理・再現する

    皆さんこんにちは お元気ですか。3月末というのに、雪積もっていてすごかったです。さて、本日はPythonでの環境の管理方法を紹介します。 今まではAnacondaを利用しており、それを利用してimport/exportする方法もあります。 これに加えて最近はPipenvも増えたようでもあり、それら紹介をします。 なぜ、環境の管理をする必要があるのか? 誰もが同じ環境を再現し、環境による問題を起こさないためです。 仕事やOSSで複数人でのプロジェクトで環境を統一しないと、依存ライブラリのバージョンによる問題が発生することもあります。 そのため、環境を統一することは非常に重要です。 環境構築の方法…

  • PyTorchで高精度・高性能のEfficientNetを利用する

    皆さんこんにちは お元気でしょうか。本日はEfficientNetをPyTorchで利用します。 私も頻繁に利用しますが、時々忘れてしまうのでメモ EfficnetNetについて EfficientNetとは? 幅、深さや解像度に関係性を導き出されたニューラルネットワークのアーキテクチャ。 SoTAを出したが、従来より8.4倍小さく、6.1倍の高速化を実現しています。 EfficientB0-B7(今はそれ以上もあった気もしますが)まで存在し、精度・性能により使い分けできます。 Kagglerたちは最近このニューラルネットワークをソリューションに利用するようになりました。(ResNetより増え…

  • MLFlow Trackingを使って、実験管理を効率化する

    皆さんこんにちは お元気でしょうか。COVIT-19起因で引きこもっているため、少しずつ自炊スキルが伸びていっています。以前、実験管理に関していくつかのソフトウェアを紹介しました。 その中で、MLFlow Trackingが一番良さそうではあったのでパイプラインに取り込むことを考えています。 もう少し深ぼって利用方法を把握する必要があったので、メモ代わりに残しています。nonbiri-tereka.hatenablog.com MLFlow Trackingのおさらい MLFlowとは MLFlowはプラットフォームです。機械学習のデプロイやトラッキング、実装のパッケージングやデプロイなど幅広…

  • データ分析に役立つメモリ管理・削減方法

    皆さんこんにちは お元気ですか。最近自炊が少しずつ捗ってきました。本日はデータ分析でよく起こる「Memory Error」の対策を書いていこうと思います。 今回のはGPUではなく、CPUです。 そもそもなぜ「Memory Error」と遭遇するのか 大量のデータを解析する、もしくは、大量の特徴量を扱うからです。 または、途中の巨大途中処理が原因で載らなくなったとかですね。 その結果、マシンが落ちることもデータ分析している人が陥るよくあることです。その場合の処方箋を書いていこうと思います。 メモリ対策 不要な変数のメモリを開放する。 一番シンプルで、もういらないから消してしまえという方式です。 …

  • atmaCup#4に参加して5位でした

    皆さんこんにちは お元気ですか。私は元気です。atmaCup#4に参加して5位だったのでその報告を書きます! 前回より良く少しほっとしていますが、賞金圏内には届きませんでした。 概要 atmaさんと一般社団法人リテールAI研究会さんとの合同開催で開かれました。 お題はスーパー一回の購買で特定のカテゴリの商品を購入するかどうか。でした。 ログに今回推定するカテゴリではないものは含まれており、それらと同時にその特定のカテゴリの商品を購入するかを推定します。開催期間は今までと異なり、一週間です。 今回から運営がSlackに#lb-liveチャンネルを作成していました。 このチャネルはTop10の順位…

  • 機械学習研究者&エンジニアが頭を抱える実験管理に役立つツールを比較した

    皆さんこんにちは。 お元気でしょうか。GoogleQA20thで悔しいけど楽しかったです。 自然言語処理のみのコンペを真面目に挑んだのは初で、勉強になることが多かったです。 今回は実験管理ツールの紹介と比較をします。 特徴がわかる範囲で簡単に実装も書いているので、参考にしてみてください。 実験管理ツール 実験管理の必要性 実験管理ツールの要件 実験管理ツールの紹介 Excel Excelとは 良い点 欠点 mag magとは サンプル実装 良い点 ここが少し残念 Weights and Biases Weights and Biasesとは サンプル実装 良い点 ここが少し残念 MLFlow …

  • 学びの多いCA × atmaCupに参加して11位でした

    皆さんこんにちは お元気ですか。私は珍しく、結構疲れました。先日の1/25(土)ですが、CA × atmaCupに参加してきました。 私としては初のオフラインコンペに参加し、senkinさんとチームを組み、結果はPublic 4th/Private 11thでした。 ※コンペの守秘義務的に情報公開が難しいところがあるので、詳細は割愛します。Private Leader Board コンペ中何していたか。 いつもどおり(?)ニューラルネットワークの記述をメインに進めていました。そして、最後1hはアンサンブルを実施しました。 lightgbmでソリューションを実装しなかった理由は、私にlightg…

  • 新しい布団を購入して快適になった話

    皆さんこんにちは お元気ですか。私は布団で感激です。さて、本日は布団について、執筆しようと思います。 昨年度まで安値の掛ふとんと敷布団を利用していましたが、寒くなり辛かったです。自宅の都合上2つの問題がありました。 掛ふとんの中が端によりすぎることが多く、掛ふとんとしての機能を失っている。一言で言えば寒い。 PCが2台(GTX1080Ti/RTX2080Ti)あるため、ブレーカーが心配。暖房つけれない。 で、この問題は継続するとパフォーマンスに響き、流石に厳しいということで、今年はなんとしても布団を購入したいといったモチベーションがありました。 そこでニトリに直接いって見つけた掛ふとんと敷布団…

  • これからはじめるGo言語(インストールと開発環境構築)

    皆さんこんにちは お元気でしょうか。私は元気です。久々に別の言語を習得したいと思って勉強をはじめようかと、思いました。 そう、ISUCONでのユーザが多いGo言語です。 Go言語とは インストール&サンプル実行 インストール方法 公式から その他 サンプル実行 仮想環境構築 インストール goenvでGo言語をインストールする 開発環境構築 Visual Studio Code(VSCode) Pluginのインストール 最後に Go言語とは プログラミング言語の一つで、2009年にGoogleで設計された言語です。 この特徴は次の通りです。1. コンパイルがある言語 2. 実行時の性能が良い…

  • 画像を混ぜ合わせるData Augmentationの紹介

    皆さんこんにちは お元気でしょうか。冬寒いです。いい布団ほしい。さて、本日は画像を混ぜ合わせる系のData Augmentationを紹介します。(CutOut含む) 画像を回転、拡縮、平行移動させるのはよく知られている手法でしょう。ただし、CutOut、Mixupを筆頭に、画像のコンテキストそのものに加工したり、混ぜ合わせたりする手法も時折使われるようになってきました。 その手法に関して、本記事では紹介していきます。 Data Augmentationの手法の紹介 CutOut arxiv.org有名な手法の一つであるCutOutです。 学習中に正方領域をマスクすることにより、頑強性(rob…

  • 2020年の目標とやりたいこと

    皆さんあけましておめでとうございます。 今年もよろしくお願いします。さて、本年やりたいことを書き連ねたいと思います。 Kaggle 昨年はKaggleに何度も挑みましたが、銀か銅しか取れず、金が0枚といった 結果について鳴かず飛ばずな一年だったと感じています。 昨年よりもソロも多かったのですが、チームでも獲得できなかったところを考えるとまだまだ実力を磨く必要はあると思っています。今年はGMになるために金3枚(ソロ含む)を目指して完走したいと思っています。 ブログ Kaggleの方は比較的頑張ったのですが、今年それ以外の活動が疎かになっていたと思っています。 ブログの更新も最近滞っていたので、今…

  • 実務やKaggleで使えるPyTorchのライブラリを紹介します!

    皆さんこんにちは お元気ですか。私は元気です。暫くKaggleしかしていなかったせいか、今年のブログ投稿頻度がひどいことになっています(がんばります。。) それはさておき、本日はKaggleのCompetitonで便利なPyTorchのライブラリを紹介してきます。昨年は、PyTorchの中でもAlbumentationのライブラリを紹介しました。 共通 Pytorchのモデルが容易になるライブラリ Ignite Catalist Lightning Apex NLP Transformers Image Processing Pretrained Pytorch EfficientNet-Py…

  • Kaggleの画像コンペで便利なライブラリを紹介します。

    皆さんこんにちは。 お久しぶりです。本日はPyTorchを用いて、Kaggleをする際に便利なソフトウェアを紹介します。 この記事はPyTorch Advent Calendar 15日目です。qiita.com私自身、画像コンペィションでは、豊富な実装からPyTorchを利用するケースが多いです。 PyTorchで今回使っているライブラリを2点紹介したいと思います。 Pretrained PyTorch Pretraining modelを用いてFine turningをすることで、 初期から学習したモデルよりも精度が向上します。PyTorchには公式で配布している以上に、 github上に…

  • 私がわかりにくいと思った「Faster RCNN」のポイントの解説

    皆さんこんにちは お元気ですか。ちゃっかりKaggleで物体検出のコンペもはじまりました。Deep Learningは相変わらず日進月歩で凄まじい勢いで進化しています。 特に画像が顕著ですが、他でも色々と進歩が著しいです。ところで色々感覚的にやりたいことが理解できるものがありますが、 あまり勉強していなかった分野として物体検出系のアルゴリズムがあります。 所謂、Faster RCNN, SSD, Yolo、最近、Mask R-CNNが該当します。ただ、今回は、個人的に物体検出のアルゴリズムで なかなか調べても出てこない、あれここどうなってるんだっけ?と思った部分の解説をします。 そのため、案外…

  • Jupyter Labのbetaが公開されました。操作性が向上していい感じ!

    皆さんこんにちは。 お元気ですか。Advent Calendar執筆して以来、久々です。 今更ですが、あけましておめでとうございます。今年もよろしくお願いいたします。いつものようにTwitterを見ていると 以前紹介したJupyter Labのbetaがリリースとのことで、次の記事が回ってきました。blog.jupyter.orgせっかくなのでまた、お試しで使ってみました。※Alpha版を試した記事はこちら nonbiri-tereka.hatenablog.com 使ってみた インストール インストールは簡単にできます。 condaの場合 conda install -c conda-for…

  • クリスマスにChainerを使って妄想力を可視化した。

    皆さんこんにちは お元気ですか。やっと書き切りました。実は今年ももう少しです。 昨年度はカノジョを作成し、その前は友利奈緒を真面目に解析しています。いやぁ時の流れは早いものです。 これを踏まえ、今年は何をしようか考えました。Chainer Advent Calendar 25日目で、皆様の妄想力を具現化したいと思います。qiita.com 妄想について モザイク処理外し モザイク処理とは モザイク処理の種類 モザイク処理アルゴリズムの実装 データセットの収集 Googliser モザイク処理外しのアルゴリズム モザイク処理外し Globally and Locally Consistent I…

  • 画像のDataAugmentationで最速のライブラリを探してみた

    皆さんこんにちは お元気ですか。年末に向けて燃え尽きようとしています。OpenCVアドベントカレンダー第22日です。qiita.com今回、PythonのDataAugmentationで最速の方法を探してみます。 画像処理のDeepLearningでは、頻繁にDataAugmentationが使われています。このData Augmentationは画像に結果がない程度に変換を加え、 ニューラルネットワークに入力する手法です。以前、こんな資料を作りました。 How to use scikit-image for data augmentation from Hiroki Yamamoto ww…

  • 日本語自然言語処理のData Augmentation

    皆さんこんにちは お元気ですか。週末の発表資料も作っています。本記事は自然言語処理アドベントカレンダー第13日です。qiita.com画像処理ではデータをアフィン変換などで変形して、 画像を拡張する処理(=Data Augmentation)が知られています。 変換などをかけて過学習を防ぐ役割が1つとしてあります。今回は、自然言語処理でもData Augmentationを実現したいと思います。 テキストのData Augmentationの意義 自分でデータセットを作る場合に、全てを網羅して1つ1つの単語が変わった場合を 作り上げるのは非常に困難で、時間がかかります。そのため、一定の問題ない…

  • WebDNNのサンプルとコードの解説に挑戦

    皆さんこんにちは。 お元気ですか。師走の12月らしく締め切りに追われています。この記事は「Deep Learning フレームワークざっくり紹介 Advent Calendar 2017」第7日目です。qiita.comDeepLearningフレームワークの1つ、WebDNNのご紹介をします。 このフレームワークを調べたきっかけとして、「MakeGirls.moe」があります。 MakeGirls.moeは萌画像生成のWebサービスで、WebDNNを使用して提供しているようです。make.girls.moe WebDNN WebDNNは東京大学 原田・牛久研究室が作成した深層学習モデル(DN…

  • Pythonで自然言語処理のタスクをやってみる。

    皆さんこんにちは お元気ですか。アドベントカレンダー真っ盛りですね。 本日は「python Advent Calendar 2017」のアドベントカレンダー第5日です。qiita.com自然言語処理には様々なライブラリ(NLTKやCoreNLP)があります。 せっかくの機会として、本記事では紹介が少ないspaCyを紹介します。 spaCy spaCyとは spaCyはPythonの発展的な自然言語処理のライブラリです。 実際に使われていることを想定しており、英語、ドイツ語、フランス語、スペイン語に対応しています。 トークナイザーは日本語もあるとのこと(確かJanomeで動作します)。githu…

  • TensorFlowにdefine by run(TensorFlow Eager)がやってきた

    皆さんこんにちは お元気ですか。今回の三連休は二郎食べて満足しました。Chainerにはじまり、PyTorchなどdefine by runで ニューラルネットワークを計算するフレームワークがあります。 このdefine by runは非常にRNN系のニューラルネットワークを書く際に重宝しています。そして、10月末にTensorFlowからもdefine by run用の インターフェースが試験的に提供されました。それがTensorFlow Eagerです。※define by runが不明な方はこちらへ s0sem0y.hatenablog.com TensorFlow Eager Tens…

  • ZabbixでGPUを監視する

    皆さんこんにちは お元気ですか。私はISUCONで負けました。前回はCPUの温度監視をしました。だが、まだ情報が足りません。そう、GPUの監視情報です。一般的にはnvidia-smiから情報を取得できますが これをZabbixで見たいと思います。同じようなことを考える人は古今東西にいるもので、 Zabbix Agentの設定、テンプレートまで公開されています。それに沿って可視化しましょう。github.com Zabbix Agentの設定 Zabbix AgentにUserParameterを設定します。 このパラメータを設定することでZabbixAgentに新しくメトリックを追加できます。…

  • ZabbixでサーバマシンのCPU温度を監視する

    皆さんこんにちは。 お元気ですか。旧友に最近太ったといわれて少々、落ち込んでます。 ちょっと食べる量減ったんですよね。ここ数年。負荷がかかるとリモートPCの調子が時々悪くなると言った事象が発生し、 勝手に落ちるするといった状況なのでちょっと対策を打ちたいなぁと思っていました。CPU温度が怪しいと思っていましたが、自分の目でsensorsを監視し続けるのは大変でした。 また、非常にエンジニア的ではなく気に入らないので別の手段(自動化など)を考えていました。 調べると、Zabbixだと収集が簡単そうにできるので、勉強がてらやってみました。 Zabbix Zabbixとは 多数のネットワークやサーバ…

  • CatBoostを5分程度で動かしてみた

    皆さんこんにちは お元気ですか?私は年末の師走フラグが立っています。少し前(この界隈ではだいぶ前っぽい)にYandex社からCatBoostが発表されました。 これが発表されたことは知っていたのですが、時間が取れなくて利用してなかったソフトウェアの1つです。 CatBoost CatBoostはYandex社が開発した勾配ブースティングをベースとした機械学習のライブラリです。 catboost.yandex公式サイトには次の特徴が記載されています。 過学習を減らす。・・・独自のアルゴリズムによって実現した。 カテゴリ特徴量の対応・・・前処理を行わなくてもカテゴリ特徴量に対応をしている。 ユーザ…

  • Pandasで特徴量取得する場合に使う操作をまとめてみた

    皆さんこんにちは お元気ですか。私は元気です。分析は基本的にPythonを使って行います。(大体Pandasですが・・・) Pandasを利用すると色々できます。が、ふとどうするんだっけ処理が増えていきました。自分のメモがてらカテゴリを分けて記録に残したいと思います。 最後のほうは特徴量の作り方集になっています。Kaggleで実際に使ったことがある処理も数多く掲載しました。 思いついたら随時、追加しようと思います。 準備 ファイル操作 読み込み 書き込み テーブル操作 1行ごとに処理をする。 複数列を取得する。 選択操作 テーブル条件の指定 複数条件の指定 NaNを埋める。 カラム、テーブルの…

  • PyTorchでCIFAR10を既存のCIFAR10のDataset Classを使わずに分類する

    皆さんこんにちは。 お元気ですか。雨天が増えてきて、出かけるのが億劫になっています。PyTorchを使って画像認識データセットCIFAR10を分類しました。 KaggleでPyTorchユーザが増えてきたこともあり、勉強しました。最近、この手のチュートリアルやExamplesに良しなにできる データ処理専用クラスを予め作っていることがあります。この状態は新しいデータセットを試したい場合に不便なので、 そのような内容が含まれないCIFAR10のコードを記述しました。 PyTorch PyTorchとは Deep Learningのフレームワークです。 柔軟なネットワーク構築やGPUを利用した高速…

  • Rundeckを使ってリッチに定期ジョブを作った

    皆さんこんにちは お元気ですか。昨日食べた中華そばおいしかったです。定期的に実行するJobを作成・実行する場合何を使っているでしょうか? メジャーなツールであれば、cronがあります。しかし、このツールはCUI、かつ、 他に色々追加したいこと(リトライ、通知)などを 設定したい場合に大変で、面倒です。そこで、Rundeckです。RCO&RLSさんの勉強会に触発されて使ってみました。 Rundeckとは? 一言で表すとジョブスケジューラです。 ジョブを作成し、実行間隔の管理、通知、実行方式などを管理できます。GUIで実行コマンドを管理できるので、非常に管理しやすく 過去のログも確認しやすい、成功…

  • Chainerの学習の様子をリモートで確認するExtensionを作った

    皆さんこんにちは お元気ですか。私はGWでリフレッシュして、生き返りました。Kaggleをやっているとき(特に画像などの長い場合)にリモートで 今学習されているかどうか、誤差はどうかなどのモデルの 様子が気になることはありませんか?私は画像認識系のコンペを実際に行っている時に、気になることがあります。 これどうしようかと考えていたのですが、歩いている時にふと思いついたので実装しました。 このアイデアの実装のために、新しいChainerのExtensionを開発しました。(Trainerを使う想定です) アイデア Slackであれば外出中も見れると考えました。 そのため、学習の途中経過(loss…

  • CUDAを使ってGPUプログラミングに挑戦してみた。

    皆さんこんにちは お元気ですか。私は家の近くに一風堂ができて感動しています。 本日はCUDAを使ったGPUプログラミングに挑戦します。最近、ふと思うことがあります。 GPUをよく使いますが、GPUの心みたいなものがわからない状態です。 そこで、GPUプログラミングに挑戦し、コードを書きながらGPUのことを 知ることができたらと思って書いてみました。GPUわからないとTwitter呟いていたら、 @dandelion1124さんにおすすめの書籍を紹介してもらいました! GPUがどんな仕組みで動作しているのか非常にわかりやすいです。CUDA C プロフェッショナル プログラミング impress …

  • Anacondaを使ったPythonの環境構築

    皆さんこんにちは お元気ですか。私は暇です(だと信じています)。 最近ブログタイトルと本人の忙しさが一致していないと言われるので とりあえず暇ですといってみます。本日は、Anacondaについて書きます。 Anacondaについて Anacondaとは インストール方法 condaを使って環境を構築・確認する ライブラリのインストール condaで入れたライブラリの一覧 仮想環境の構築と削除 仮想環境にライブラリをインストールする 仮想環境の切り替え condaのupdate conda自身の情報 最後に Anacondaについて Anacondaとは AnacondaはPythonのデータサ…

  • Cookiecutterを使ってテンプレートからプロジェクトを作成する

    皆さんこんにちは お元気ですか。ユニクロの極暖Tシャツ着ているとかなり暑い。。。冬なのに今日は、Cookiecutterを使ったテンプレートからの複製生成を試みます。 テンプレートからちょっと変えたい部分を用意することで、簡単に 似たプロジェクトを作成できます。 Cookiecutterについて Cookiecutterは雛形となるテンプレートプロジェクトから プロジェクトを生成するツールです。 雛形となるプロジェクトを作ってしまえば、少し変更したい箇所を指定して 新しいプロジェクトを作ります。github.com インストール cookiecutterをpypiから取得できます。 sudo …

  • Visual Studio CodeでC++の環境構築をやってみる

    皆さんこんにちは お元気ですか。私は元気です。VIsual Studio CodeでC++の環境を構築します。 C++のコードを書く時に案外いいエディタがなくて結構困ります。 今まではsublime text+ pluginを使っていましたが、デバッガ厳しい、 補完難しいなど色々困っていました。そこで、試しにVisual Studio CodeでC++の環境を作ってみました。 Visual Studio Code Microsoftが作っているWindows, MacOS, Linuxで動作する 軽量高速な高機能エディタです。 (Visual Studio Code - Visual Stud…

  • Dockerを使ってGPUも使える分析環境を構築してみた

    皆さんこんにちは お元気ですか。Kaggle Meetup面白かったです!またあいましょう。今日はDockerを使った分析環境構築の話をしようと思います。 Dockerを使って何を作ろうかと思ったら、分析環境さっさと作りたい・・・ cudnn等の更新が面倒であることが思い浮かびました。なんとなく、Dockerを使えば解消できるのではないかといったことを思いつき遊んでみました。 Dockerとは Dockerはコードやシステムライブラリ、システムで利用するのを実行するために 必要な全てが含まれているものをラップするソフトウェアらしい。 OS上で仮想環境を立ち上げ、ソフトウェアなどの実行ができます…

  • 2017年の挨拶とやりたいこと

    あけましておめでとうございます。 今年もよろしくお願いします。ふりかえりはしませんが、昨年はエキサイティングな1年間で色々なことに 挑戦していった年でした。 色々と課題も見えてきましたが・・・今年はKaggleもしかりお仕事もしかり色々やっていったかなと思います。 結局、Kaggle Masterになれず、Competitions Expertにいます。 今年こそはなりたいなぁ やりたいこと 今年度もやりたいことは沢山あります。 強化学習の勉強 数学の勉強 Docker等の環境構築周りの勉強 PyConJPへの登壇挑戦 色々な分野に強化学習を+αとする研究や論文が増えていると感じています。 本…

  • クリスマスにもなってカノジョがいないからカノジョを作ってみた。

    皆さんこんにちは お元気ですか?私はぼっちです。本記事は「カノジョできない機械学習エンジニア」の最終日です。 qiita.com本日の話の流れは次のとおりです。 はじめに カノジョがいないことに対する解決法 カノジョについての考察 カノジョとは 理想のカノジョとは 理想のカノジョ作成方針 カノジョを作成する。 Neural Conversational Model 概要 構成解説 実装してみた データの構築 Step1 探す Step2 存在しない言葉 Step3 名前 学習する Slack Botで実用化する 前準備 Botをコントロールするコード 実際にどうなったのか 最後に 参考文献 は…

  • Chainerの抽象化に挑戦してみた

    皆さんこんにちは お元気ですか?年末ってこんなに忙しくなるものですね。本記事はChainer Advent Calendar 16日目の記事です。qiita.com本日はScikit-learn likeなChainerを作った記事です。なぜ、作ったのかは後述します。 はじめに なぜ、抽象化コードを作ってみたのか Scikit-learnのWrapperを実装するメリット 「うまくいかないこと」を早く知る 使いやすい 他のアルゴリズムと取り替えやすい 何ができれば嬉しいか 最低限必要な項目 実際に作ってみた ソースコード(chainer_neural_network.py) MNISTで遊ぶ …

  • Pythonを使った音楽解析をやってみる

    皆さんこんにちは お元気ですか。私は元気です。本記事はPythonのアドベントカレンダー第6日です。 qiita.com本日はPythonを使った音楽解析に挑戦します。 偶然にも音楽解析に便利なライブラリを発見したので、試してみたいと思います! 音楽解析 librosa librosaとは 音楽を解析してみた。 音楽を取得する。 データ読み込み 音楽情報を取得する。 時間の計算 ピッチやテンポの計算 スペクトラム分析をやってみる。 音楽特徴量を取得する。 音楽を加工する。 時間の引き伸ばし、短縮 要素の抽出 打楽器要素の抽出 ハーモニック要素の抽出 音楽の保存 参考文献 音楽解析 本日の挑戦は…

  • グレーの画像に色をつけるネットワークについて発表しました。

    皆さんこんにちは お元気ですか。どきどき。本記事はDeepLearning Advent Calendar 3日目の記事です。qiita.com今日は画像に色を付与するネットワークについて発表します。 せっかくなので、そのタイミングを見計らって公開しています。 発表スライド 慌ててあげた。 Colorful image colorization from Hiroki Yamamoto www.slideshare.net グレー画像に色をつけること はじめに、グレー画像から元のRGB画像へ変換する方法はありません。 そこで、グレー画像を元のRGB画像へどう変換するかが本日の内容となります。参…

  • ChainerのTrainerを使ってみた

    皆さんこんにちは お元気ですか。最近、Chainer便利でびっくりしたような頃合いです。頻繁に更新することで有名なChainerですが、久々にupgradeすると以前よりも シンプルなタスクについて、簡単に学習ができます。 Trainer Chainer version 1.11.0よりTrainerと呼ばれる機能が実装されています。 以前まで学習用バッチ処理を自前で書くようなことが 必要でしたが、これを使うことによってバッチ処理を書く必要がなくなります。実際の機能としてはある処理をhockしたり、グラフを出力したり レポートを表示したりと学習中に確認したいグラフは沢山あります。それらのグラフ…

  • Keras.jsを使って、JavascriptでDeepLearningを動かしてみる

    皆さんこんにちは お元気ですか?一人で箱根温泉りらっくすできました。Keras.jsが出て、遂にKerasをjavascriptを扱えるようになりました。 (これ公式なのかどうかが非常に不安で、きっと違う) ということで実際に動かしてみようと思います。 Kerasについて Keras(Python) Keras-js ディレクトリ構成 Demoを動かしてみよう Clone サーバの起動 カスタマイズポイント Model もしくは、Sequentialの構成の出力 hdf5として出力したファイルを変換する。 javascript上でのkerasのNeural Networkの宣言 データ形式 予…

  • PyConJPで触発されてPythonのType Hints(型ヒント)について書いてみた

    皆さんこんにちは お元気ですか。ラーメン食べたくなってきた。私自身は自他共に認めそうなPython2.7.x userのつもりなのですが、 PyConJP2016でAndrey Vlasovskikh氏の講演でType Hints(型ヒント)の話があって Python3.5すごいとか思いながら聞いてました。ぶっちゃけ型ヒント何か知りません。ということで、今回はPythonにおけるType Hintsを調べてみました。 Type Hintsについて そもそもType Hintsってなに? 型に対するアノテーションです。具体的には実例を見るとおそらくわかりやすいです。PEP484に規定されたTyp…

  • 高速化のためのPython Tips

    皆さんこんにちは お元気ですか?私は元気です。Pythonにおける高速化手法を掲載してみます。 簡単なコード並びに索引のような感じで引けるようなイメージで作成しました。本日の目次です。 Pythonにおける高速化の必要性 Pythonの高速化 高速化の手順 Profiling 基本的な条件 計測コード Pythonの基本的な書き方部分 rangeよりxrangeを(Python2.7) リストの生成 文字列結合 Import文のコスト 関数呼び出しのコスト ドットを避ける yieldを使う Numpyに関するTips Numpyを使用して基本演算を高速化する Numpyの要素にアクセスする演算…

arrow_drop_down

ブログリーダー」を活用して、terekaさんをフォローしませんか?

ハンドル名
terekaさん
ブログタイトル
のんびりしているエンジニアの日記
フォロー
のんびりしているエンジニアの日記

にほんブログ村 カテゴリー一覧

商用