サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
nonbiri-tereka.hatenablog.com
皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) zip(同時に2つのオブジェクトでループ) yield(途中で一旦返す) for-else(forで途中で停止しない場合の条件) リスト内包表記 Collections Counter default dict(辞書のデフォルト値設定) Sort(ソート) sorted if文の書き方 Fileに関する処理(with) in(オブジェクトに存在しているかどうか) 関数について 返り値を複数返す。 関数のオブジェクト化 参考文献 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) enu
皆さんこんにちは お元気ですか。私は全然です。 Deep Learning 一言で言うとただの深層学習ですが、 作り手や用途によって構造が全然違います。 今回は逆引き辞典よろしく、Deep Learningの実装のリンク集を作ってみました。 今回はライブラリは問わず、掲載します。 Caffe、Theano(Lasagne)、Torch7、Chainerなんでもござれです。 後日、追記するかも・・・ Neural Network(Full Connected) Auto Encoder Auto Encoder Denoising AutoEncoder Convolutional AutoEncoder Convolutional Neural Network Convolutional Neural Network R-CNN Fast-RCNN Faster-RCNN Recurren
今日は様々な箇所で賑わっているTensorFlowを使ってみました。 皆さんこんにちは。 お元気でしょうか。朝弱いと結構困りますよね。 TensorFlowが盛り上がってたのでつい書いてみました。 TensorFlowとは http://tensorflow.org/ http://download.tensorflow.org/paper/whitepaper2015.pdf (詳細にライブラリのことを知りたい人はこちらのpdfへどうぞ) TensorFlowはGoogleが開発したデータフローグラフを使用した数値計算ライブラリです。 グラフの各ノードは数値計算のオペレータを示し、エッジはデータの配列を示す。 desktopやserverなどでのCPU,GPU演算をシンプルなAPIで実現することが可能です。 開発者は、GoogleのBrain Teamの研究者、エンジニアです。目的は、機
みなさんこんにちは お元気ですか。私は元気です。 Jupyter Notebookの次世代版、JupyterLabを紹介したいと思います。 ※7/17 誤字脱字、一部画像を修正 JupyterLab JupyterLabとは JupyterLabのインストール Jupyter Labの凄い点 1.画面分割が可能 2.タブによる画面切り替え 3.ファイルの操作機能 4.コマンドの検索機能 5.csvを綺麗に表示する 6.Widgetが1度のみの表示がされる。 感想 JupyterLab JupyterLabとは JupyterLabはJupyter Notebookをベースに拡張したものである。 所謂IDEと呼ばれるツールと同様である。 現在はAlpha版がリリースされています。 ※Scipy2016のカンファレンスビデオはこちらにあります。 JupyterLab: Building Blo
皆さんこんにちは お元気ですか?私は元気です。 Pythonにおける高速化手法を掲載してみます。 簡単なコード並びに索引のような感じで引けるようなイメージで作成しました。 本日の目次です。 Pythonにおける高速化の必要性 Pythonの高速化 高速化の手順 Profiling 基本的な条件 計測コード Pythonの基本的な書き方部分 rangeよりxrangeを(Python2.7) リストの生成 文字列結合 Import文のコスト 関数呼び出しのコスト ドットを避ける yieldを使う Numpyに関するTips Numpyを使用して基本演算を高速化する Numpyの要素にアクセスする演算をしない Numbaで手早く高速化 その他高速化ツール Cython Dask PyPy 感想並びに展望 参考文献 Pythonにおける高速化の必要性 PythonはC++やJavaと比較すると非
皆さんこんにちは お元気ですか。私は元気です。 本記事はPythonのアドベントカレンダー第6日です。 qiita.com 本日はPythonを使った音楽解析に挑戦します。 偶然にも音楽解析に便利なライブラリを発見したので、試してみたいと思います! 音楽解析 librosa librosaとは 音楽を解析してみた。 音楽を取得する。 データ読み込み 音楽情報を取得する。 時間の計算 ピッチやテンポの計算 スペクトラム分析をやってみる。 音楽特徴量を取得する。 音楽を加工する。 時間の引き伸ばし、短縮 要素の抽出 打楽器要素の抽出 ハーモニック要素の抽出 音楽の保存 参考文献 音楽解析 本日の挑戦は特徴量抽出と一部の音楽の加工です。 基本的な音楽ファイルの読み込みや特徴量抽出、音楽の加工分離です。 音楽解析に便利なライブラリ、librosaを紹介します。 librosa librosaとは
皆さんこんにちは お元気ですか。私は元気です。 今日は珍しくNeural Networkを使っていく上での失敗経験について語ります。 学習の時に案外、失敗するのですが、だいたい原因は決まっています。そう大体は・・・ ということで、今回は失敗の経験、アンチパターンのようなものを書こうと思います。 Trouble1:学習時にNanを叩き出す。 原因1 cross-entropy誤差を使っている。 原因2 結果が小さすぎて、0と認識される。 原因3 重みがあらぬ方向へ学習する。 Trouble2:収束しない 原因1 学習率が高すぎる 原因2 学習率が低すぎる 原因3 適切な誤差関数ではない 原因4 活性化関数を誤った 原因5 そもそも入力が誤っている Trouble3:Validation Scoreが低い 原因1 過学習しているにも関わらず、気づかなかった。 原因2 与えるデータとラベルの1対
皆さんこんにちは お元気ですか。Kaggle Meetup面白かったです!またあいましょう。 今日はDockerを使った分析環境構築の話をしようと思います。 Dockerを使って何を作ろうかと思ったら、分析環境さっさと作りたい・・・ cudnn等の更新が面倒であることが思い浮かびました。 なんとなく、Dockerを使えば解消できるのではないかといったことを思いつき遊んでみました。 Dockerとは Dockerはコードやシステムライブラリ、システムで利用するのを実行するために 必要な全てが含まれているものをラップするソフトウェアらしい。 OS上で仮想環境を立ち上げ、ソフトウェアなどの実行ができます。 www.docker.com Dockerのメリット 公式サイトによれば、次のとおりです。 階層化されたファイルシステムから構築されるので、ディスクやイメージが効率的 DockerコンテナはL
皆さんこんにちは。 コンペで頑張ったので疲れました。 さて、Google Landmark 2021が終了し、Retrieval5位(金)、Recognition12位(銀)となりました。 本日は自戒と反省により、クラウドで30万円消失した話を 記録として書こうと思います。皆さん私を見て反面教師にしてください。 事象 9月入ってからLandmark2021に参加し、Google Cloud Platform、通称GCPを利用していた。 主な利用はGoogle Cloud Storageのみで、ほぼ容量課金だろうと高をくくっており、課金請求の上限など入れ忘れてました。 すると9/18に久々に請求額を確認すると32万ほどの請求額がありました。 さすがに目玉が飛び出て、調査にあたったといったものになります。 課金内容を確認したら原因はすぐにわかり、チームで対策を打ちました。(私が慌てて学習にスト
皆さんこんにちは お元気ですか。私は元気です。 Chainerと呼ばれる機械学習ライブラリを紹介しようと思います。 Chainerについて Chainerとは? ChainerはPreffered Networksが開発したニューラルネットワークを誤差伝播で学習する ライブラリです。(Python)chainer.org 特徴として、Chainer は、「実際に Python のコードを用いて入力配列に何の処理が適用されたかだけを記憶しておき、それを誤差逆伝播の実行に使います」だそう。 Install sudo pip install chainer 基本的にこれだけのインストールが非常に簡単なソフトウェアです。 他のライブラリとの比較 ディープラーニングが活かすIoTより抜粋。 個人的に注目した違いは以下の3点 CaffeもTheanoも勉強することが多い。(設定ファイルとか) 短く書け
皆さんこんにちは。 お元気でしょうか。GoogleQA20thで悔しいけど楽しかったです。 自然言語処理のみのコンペを真面目に挑んだのは初で、勉強になることが多かったです。 今回は実験管理ツールの紹介と比較をします。 特徴がわかる範囲で簡単に実装も書いているので、参考にしてみてください。 実験管理ツール 実験管理の必要性 実験管理ツールの要件 実験管理ツールの紹介 Excel Excelとは 良い点 欠点 mag magとは サンプル実装 良い点 ここが少し残念 Weights and Biases Weights and Biasesとは サンプル実装 良い点 ここが少し残念 MLFlow サンプル実装 良い点 ここが少し残念 まとめ 最後に 実験管理ツール 実験管理の必要性 コンペティションや研究では多くのハイパーパラメータや構造などに対して様々な変更を加えます。 私の場合の例ですが、
皆さんこんにちは お元気ですか。私は元気です。 分析は基本的にPythonを使って行います。(大体Pandasですが・・・) Pandasを利用すると色々できます。が、ふとどうするんだっけ処理が増えていきました。 自分のメモがてらカテゴリを分けて記録に残したいと思います。 最後のほうは特徴量の作り方集になっています。 Kaggleで実際に使ったことがある処理も数多く掲載しました。 思いついたら随時、追加しようと思います。 準備 ファイル操作 読み込み 書き込み テーブル操作 1行ごとに処理をする。 複数列を取得する。 選択操作 テーブル条件の指定 複数条件の指定 NaNを埋める。 カラム、テーブルの統計情報を取得する。 完全一致の列を発見し、除去する。 日付操作 日付から日などの情報を取得する。 2つ以上のDataFrameの結合操作 内部結合 外部結合 2つの結合処理 集計操作を使った特
皆さんこんにちは お元気でしょうか。冬だというのに、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
皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおけるメモリ少なく使う方法を紹介したいと思います。 なぜ、そんな方法を書くに至ったか。それは、こんなエラーをしょっちゅう見ているからですね。 Traceback (most recent call last): File "lasagne_wheal.py", line 48, in <module> prediction = model.predict_proba(np.array(X_test)) MemoryError 画像処理を行っている人間ならよくやりがちかもしれませんが、 要はint8で持っている情報をfloatに変換してデータが膨れ上がったことによってメモリが 不足していることから発生しています。 Convolutional Neural Networkを大きな画像で実施しようとするとよく発生するのではないで
皆さんこんにちは お元気ですか。私は元気です。 今日は強化学習の勉強がてらメモを書いてみました。 個人的には最近、注目している分野で、ゴールがあるような(クラス分類やRegression) 機械学習と異なり、汎用的に色々問題が解けそうだからというのが理由です。 (なんか色々語弊を生みそう) 間違っていれば教えて下さい。 強化学習 強化学習における要因 Policy Reward Function Value function model of the environment 強化学習で解ける問題 参考文献 強化学習 強化学習はある環境ないにおけるエージェントが、 現在の状態を観測し、取るべき行動を決定する問題を扱う 機械学習の一種 by wikipedia この中で登場するのは、「状態」と「行動を決定する」といったところでしょうか。 つまり、「ある状態の時に、どう行動をするか」といったこと
皆さんこんにちは お元気ですか。 Twitter上で突然賑わった、Autogradについて 書いてみることにします。 Autogradとは Autogradについての説明 github.com Autogradはnumpyらしく書くことができ、その記載した式を微分してくれるライブラリです。(in Python) 現状、Pythonとtorch(lua)にて実装があるようです。 Theanoとの違いはシンボルを定義せず、数値計算した内容を直接渡すことができます。といったところでしょうか。正直自動微分は新しくないものです。(Theanoがありますので) 悲しいことにPythonのAutogradは現状、GPU演算を行うことができません。 testの中にGPU関係の内容はあるようですが、 一応featureにGPU operationsのサポートとして掲載されていますね。 Install sud
皆さんこんにちは お元気ですか。私は元気です。 日々、Kaggleで勉強しながら、自己研磨しているのですが、 優勝者の手法とか参考になる手法ってなかなか纏まってないと感じたので、探して、見つかった内容をこちらに載せようと思います。 時々、追記して、情報を充実させたいと思います。 West Nile Virus Prediction 2位 diefimov/west_nile_virus_2015 · GitHub Otto Group Product Classification Challenge 1位 1st PLACE - WINNER SOLUTION - Gilberto Titericz & Stanislav Semenov - Otto Group Product Classification Challenge | Kaggle Restaurant Revenue Pr
皆さんこんにちは お元気ですか。最近、Chainer便利でびっくりしたような頃合いです。 頻繁に更新することで有名なChainerですが、久々にupgradeすると以前よりも シンプルなタスクについて、簡単に学習ができます。 Trainer Chainer version 1.11.0よりTrainerと呼ばれる機能が実装されています。 以前まで学習用バッチ処理を自前で書くようなことが 必要でしたが、これを使うことによってバッチ処理を書く必要がなくなります。 実際の機能としてはある処理をhockしたり、グラフを出力したり レポートを表示したりと学習中に確認したいグラフは沢山あります。 それらのグラフを可視化したいといったことは往々にしてあります。 Trainerの基本的な使い方 Trainerを使うと、Progress Barやlogを自動的に吐き出すことができます。 通常のモードでは、T
皆さんこんにちは お元気ですか。ちゃっかりKaggleで物体検出のコンペもはじまりました。 Deep Learningは相変わらず日進月歩で凄まじい勢いで進化しています。 特に画像が顕著ですが、他でも色々と進歩が著しいです。 ところで色々感覚的にやりたいことが理解できるものがありますが、 あまり勉強していなかった分野として物体検出系のアルゴリズムがあります。 所謂、Faster RCNN, SSD, Yolo、最近、Mask R-CNNが該当します。 ただ、今回は、個人的に物体検出のアルゴリズムで なかなか調べても出てこない、あれここどうなってるんだっけ?と思った部分の解説をします。 そのため、案外変なところの解説かもしれません。 Faster RCNNの技術要素から説明しようかなとも思って作りました。 ※数式、記号等の細かい説明は論文を参考にしてください。 3/7 15:15 Anche
皆さんこんにちは お元気ですか。アドベントカレンダー真っ盛りですね。 本日は「python Advent Calendar 2017」のアドベントカレンダー第5日です。 qiita.com 自然言語処理には様々なライブラリ(NLTKやCoreNLP)があります。 せっかくの機会として、本記事では紹介が少ないspaCyを紹介します。 spaCy spaCyとは spaCyはPythonの発展的な自然言語処理のライブラリです。 実際に使われていることを想定しており、英語、ドイツ語、フランス語、スペイン語に対応しています。 トークナイザーは日本語もあるとのこと(確かJanomeで動作します)。 github.com 次のリンク先には他の自然言語処理ライブラリの アルゴリズムの観点や精度(Dependency parsing、Named entity comparison)が 載っており、他のライ
皆さんこんにちは お元気ですか。私は元気です。 今日は前回の以下のページからだいぶ更新が立ち、Kaggleのコンペ的にも多くの開催がありました。 そこで、新しいページでリンクを纏めてみました。 中にはインタビューやフォーラム、githubなど様々なものが混合しているのはお許し下さい。 nonbiri-tereka.hatenablog.com Prudential Life Insurance Assessment 1st - 1st place solution - Prudential Life Insurance Assessment | Kaggle 2nd - Solution -- 2nd place - Prudential Life Insurance Assessment | Kaggle Homesite Quote Conversion 3rd- Homesite Q
皆さんこんにちは お元気ですか。私は元気です。 ChainerのAdvent Calendar第16日目です。 DeepLearningのライブラリの比較を行ってみました。 Chainer Advent Calendar 2015 - Qiita ライブラリ紹介 Chainer chainer.org 日本製PFIが開発したライブラリ。個人的には書きやすくて結構好き。 時系列ニューラルネットワークが組みやすいことを売りにしている。 Tensorflow Googleが公開したライブラリ https://www.tensorflow.org/www.tensorflow.org Googleが公開したことで、評判のライブラリ。 やたらとニュースになるほど凄かったが、果たして他とくらべてどうなのか。 Lasagne github.com Theanoを基盤として書きやすくしたライブラリ Kag
皆さんこんにちは。 お久しぶりです。本日は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
皆さんこんにちは お元気ですか。私は元気です。 本日はhyperoptと呼ばれるライブラリを紹介したいと思います。 KaggleのForamで時々あがっていたので、気になっていました。 Hyperoptについて What is Hyperopt? hyperoptはTree-structured Parzen Estimator Approach(TPE)やRandomSearchを使って、最適化を行うライブラリです。 しかし、掲載論文を読む時間がないので、最適化の方法はともかく、 このライブラリは最小化するパラメータの推定を行ってくれます。 (他のもできるかもしれませんが、今回は調べていません。) Hyperoptについて、Scipy2013で発表をしているようです。興味が有る人は以下のビデオもどうぞ。 www.youtube.com Install sudo pip install h
本日はTensorFlowの可視化機能を使ってみる。 皆さんこんにちは お元気ですか。私は元気です。 今日はTensorFlowの可視化機能を使ってみました。 TensorFlowって何ぞ?といった方はこちらの記事を御覧ください。 nonbiri-tereka.hatenablog.com まずは、可視化用のソースコードを準備しました。Tutrialで用いられているソースコードを少々いじり、 扱いやすいコードにしました。 https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py 可視化用ソースコード import tensorflow as tf import time import input_data import ma
皆さんこんにちは お元気ですか。今回の三連休は二郎食べて満足しました。 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段階です。 通常使う場面では問題ないと思いますが、念のため何か起こっても問題ない環境で利用してくださ
皆さんこんにちは。 お元気ですか。師走の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
皆さんこんにちは お元気ですか。私はGWでリフレッシュして、生き返りました。 Kaggleをやっているとき(特に画像などの長い場合)にリモートで 今学習されているかどうか、誤差はどうかなどのモデルの 様子が気になることはありませんか? 私は画像認識系のコンペを実際に行っている時に、気になることがあります。 これどうしようかと考えていたのですが、歩いている時にふと思いついたので実装しました。 このアイデアの実装のために、新しいChainerのExtensionを開発しました。(Trainerを使う想定です) アイデア Slackであれば外出中も見れると考えました。 そのため、学習の途中経過(lossなど)を投稿すれば見れる! 実装イメージは次の図に掲載しました。 コードを見た限りだと、Extensionで実装できそうだったので、トライしました。 Extensionの実装方法 Extensio
皆さんこんにちわ お元気ですか?僕はTwitterに苦しめられています。 本日はTwitter APIについて。このAPI何かとめんどくさい。 通信制限はあるし、Developer Display Requirementsとかもあるし… 今回はTimelineの解説を行います。色々と使いこなすのが難しい。 まずはOption ステータス Parameter 動作 default count 数は200の最新のコメントを取り出す。 20 since_id tweetidより上のタイムラインを取得 なし max_id tweetid以下のタイムラインを取得 なし trim_user tとするとユーザーidのみ出力 true exclude_replies リプライを含むかどうか true contribute_details ステータス情報にuser_id以外も含まれるようにする true i
次のページ
このページを最初にブックマークしてみませんか?
『のんびりしているエンジニアの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く