ブックマーク / nonbiri-tereka.hatenablog.com (10)

  • 実務やKaggleで使えるPyTorchのライブラリを紹介します! - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 暫く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のモデルを書くに

    実務やKaggleで使えるPyTorchのライブラリを紹介します! - のんびりしているエンジニアの日記
    karaage
    karaage 2019/12/20
    メモ
  • シグモイド関数を微分する - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は普通です。 さて、今日は以下のシグモイド関数を微分してみます。 シグモイド関数とは何か? 以下のような形で示す関数です。ニューラルネットワークの活性化関数とかで使われます。 ニューラルネットワークの学習で最急降下法を使う時に微分が必要になります。 その他でも結構この関数の微分は扱われたりします。 ※表示用のソースコードは一番下へ 微分したらこうなることが一般的に知られてますが、どうしてこうなるのでしょう? 微分の計算式 急にやりたくなったので、やってみた 久々に真面目に微分したので、色々間違ってたらすみません。 以前行った、最急降下法を このまま微分だと面倒なので、はじめに式変形 合成微分の公式を使い と置くと以下のように表現ができる。 次にそれぞれについて微分を行う。 微分した2つの式を代入すると以下の式に変換できる。 上記の式を分数の形にすると 更に

    karaage
    karaage 2018/01/04
    久しぶりに自分で計算してみた。合成関数とかもう完全に忘れてた…
  • 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 TensorFlow Eagerは次の公式の記事で紹介されています。 ただし、この機能はPreview段階です。 通常使う場面では問題ないと思いますが、念のため何か起こっても問題ない環境で利用してくださ

    TensorFlowにdefine by run(TensorFlow Eager)がやってきた - のんびりしているエンジニアの日記
    karaage
    karaage 2017/11/06
    ほえー、ますますTensorFlowに死角が無くなっていくのかな
  • Pandasで特徴量取得する場合に使う操作をまとめてみた - のんびりしているエンジニアの日記

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

    Pandasで特徴量取得する場合に使う操作をまとめてみた - のんびりしているエンジニアの日記
    karaage
    karaage 2017/08/08
    これは有用そう。Numpyと組み合わせると更に良さそう
  • CUDAを使ってGPUプログラミングに挑戦してみた。 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は家の近くに一風堂ができて感動しています。 日は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版こ

    CUDAを使ってGPUプログラミングに挑戦してみた。 - のんびりしているエンジニアの日記
    karaage
    karaage 2017/04/11
    近々CUDA使いそうなのでメモ
  • ChainerのTrainerを使ってみた - のんびりしているエンジニアの日記

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

    ChainerのTrainerを使ってみた - のんびりしているエンジニアの日記
    karaage
    karaage 2016/10/25
    chainerまた色々変わってるのか。どっかでキャッチアップしたいな
  • 高速化のためのPython Tips - のんびりしているエンジニアの日記

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

    高速化のためのPython Tips - のんびりしているエンジニアの日記
    karaage
    karaage 2016/09/01
    めちゃ参考になる
  • DeepLearningを使った実装を纏めてみた - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は全然です。 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

    DeepLearningを使った実装を纏めてみた - のんびりしているエンジニアの日記
    karaage
    karaage 2016/02/10
    ふむ
  • Pythonで書ける便利な書き方を紹介します。 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) zip(同時に2つのオブジェクトでループ) yield(途中で一旦返す) for-else(forで途中で停止しない場合の条件) リスト内包表記 Collections Counter default dict(辞書のデフォルト値設定) Sort(ソート) sorted if文の書き方 Fileに関する処理(with) in(オブジェクトに存在しているかどうか) 関数について 返り値を複数返す。 関数のオブジェクト化 参考文献 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) enu

    Pythonで書ける便利な書き方を紹介します。 - のんびりしているエンジニアの日記
    karaage
    karaage 2016/01/25
    ほえー、ためになる
  • Pythonで少なくメモリを使用する方法 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日は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を大きな画像で実施しようとするとよく発生するのではないで

    Pythonで少なくメモリを使用する方法 - のんびりしているエンジニアの日記
    karaage
    karaage 2016/01/04
    PythonでGCこうやるのか
  • 1