chainer
去年書いたサンプルコード集の2016年版です。 個人的な興味範囲のみ集めているので網羅的では無いとは思います。 基本的に上の方が新しいコードです。 QRNN(Quasi-Recurrent Neural Networks) 論文ではchainerを使って実験しており、普通のLSTMはもちろんcuD…
16.0の新機能NstepLSTMはcuDNN5.0以降で最適化されたcuDNN-RNNを利用できます。速くなるらしいです。 Optimizing Recurrent Neural Networks in cuDNN 5 | Parallel Forallこれの良い所は次元数が合わないデータでもミニバッチ処理が簡単にできる点です。 再…
低火力ディープラーニングにつきまとう問題として第一にGPUのメモリ問題がある。 個人で用意できるレベルのハードではとにかく足りない。以下言語モデル構築の話。 wikipediaの1/50コーパスをneologdで分かち書きしたときに語彙は25万ぐらい。 これを全部語…
1.15.0よりzerogradsが非推奨になりcleargradsというものが導入されたらしい。github.com0埋めはメモリいっぱい使うし意味が無いからNone埋めにする!みたいな感じ。 変更されたコードはこちら。上がclearで下がzero。 def cleargrad(self): """Clears the g…
久しぶりにchainerをアップグレードしようとしたらうまくいかなかった。chainer1.8.0→15.0.1 (CUDA7.5、CuDNNv4、Ubuntu14.04、python3.4) cupy/cuda/cudnn.cpp:8962:675: error: cannot convert ‘void*’ to ‘double’ for argument ‘15’ to ‘cudnnStatus_t c…
9月9日にChainer本が出るようです。Chainerによる実践深層学習posted with amazlet at 16.08.31新納浩幸 オーム社 売り上げランキング: 2,884Amazon.co.jpで詳細を見る出版社の目次はこちら Chainerによる実践深層学習 | 理工学専門書,情報科学,知識科学・人…
ようやく北海道も雪が解けて街中を自転車で走り回れるようになりました。あと二週間ぐらいで桜も咲きます。[1604.02910] Deep Gate Recurrent Neural Network [1603.09420] Minimal Gated Unit for Recurrent Neural Networks という二つのRNN関連の論文をGo…
以前にもちょこっと書いたのだけど、自然言語はたいてい次元(単語数、文字数など)が合わない。データA 1 2 データB 1 2 3こんな感じで次元が合っていないデータをミニバッチで学習したい。 末尾をEOSで埋めてミニバッチ 可変長のミニバッチの時に末尾をEOSで…
numpyのbroadcastingは自分には難しくてあまり理解していなかったのだけど最近ようやく少しだけわかってきた。 Pythonによるデータ分析入門のP410からの説明、英語版だと嬉しい事にPython for Data Analysis - Free Download eBook - pdfより無料で読める。P…
一日前倒しでリリースされたようです。Release v1.6.0 · pfnet/chainer · GitHub1.5からの機能追加バージョンなので1.5のコードが動かなくなったりすることは無いようです。 インストール時にHDF5が必須じゃなくなった。1.5のインストールで躓いた人が多かっ…
あと数日で1.6がやってくるchainer。 1.0~1.6までのバージョンごとの差について簡単にまとめてみます。 大きく分けると3つのグループ 1.0 1.1 1.2 黎明期バージョン1.3 1.4 CuPy導入1.5 1.6 色々とパワーアップした現世代特にこれからchainer始める人はこの…
ほとんどChainer専用ブログになってきたのでタイトルにChainerメモって付けるのやめました。https://groups.google.com/forum/#!topic/chainer/VFbZCgccs6I ここで少し言及されていたので。[明日 晴] [今日 は 雨] [本当 に 凄い 雪]こういう可変長をミニバ…
Pycharmのremoteインタプリンタは便利。ローカルマシンでコード書いて、リモートのUbuntuで実行するときにPycharm内で全て完結する。いちいちterminalで実行しなくていい。…はずなんだけどchainerをGPUで動かすと OSError: Failed to run `nvcc` command. Ch…
あけましておめでとうございます。今年もChainer中心に遊んでいきたいと思います。過去最大のアップデート 1.5。あまりにも変わりすぎていて以前のコードを1.5対応に書き換えるが結構大変です。 正直1.4のままでいいかな…と思いましたが、最新版についていか…
ドワンゴではニコニコ静画(イラスト)のタグを学習したChainer用のモデルを配布してます。またそれを利用したタグ推定や類似画像検索などの技術デモのほか、応用事例として画像を元に閲覧数やお気に入り数を推定する研究を紹介しています。 https://t.co/5x…
少し前から気になっていたのですが1.3.0よりtype_checkをオフにすることで処理を高速化できるようになっていました。 Function — Chainer 1.4.0 documentation type_check_enable When it is True, the function checks types of input arguments. Set CHAIN…
主にバグ修正、CuPy関係の機能追加のようです。 モデル構造変更、公式保存方法などの実装は一ヶ月後の1.5.0になりました。主な変更点はこちら https://groups.google.com/forum/#!topic/chainer/bnfSQpAux7M https://github.com/pfnet/chainer/issues?q=mile…
chainerを触りだした頃に一番遭遇していたエラーです。トラウマになりそうでした。こんなやつ。 chainer.utils.type_check.InvalidType: Expect: in_types[0].ndim == 1 Actual: 2 != 1 #こういうパターンもある 不等号だったりもする Actual: (1,2) != (1,1…
二週間後の10月28日に延期されました。 モデルの構造をがらっと変えるための議論と実装に時間がかかっているようです。公式のモデル保存&読み込み方法も実装される予定でしたが、いずれも1.5.0(11月下旬?)になりそうです。 今のFunctionSetをpickleで保存す…
GPUなのに学習速度があまり速くならない、あるいはCPUより遅い時ってありませんか?そういうとき自分はまず「nvidia-smi -l 1」でGPUの使用率を見て100%に近い値を維持できているかどうかチェックします。NVIDIA System Management Interfaceというものらし…
最近早起きした日は北海道神宮・円山公園へリスに会いに行ってます。山のリスと違って人馴れしまくってて自分から足元にやってくるエゾリス。多分エサやってる人がいるんだろうな。こんな至近距離で撮れたのは初めてなので記念にアップ。 近所を散歩してたら…
追記)2015.10.30 互換性維持のためバージョン1.4.0でcuda.init()が復活しました。 正確にはエラーで落ちなくなりdeprecatedを出すようになりました(つまり書いても書かなくても何もしない)。 以下の記事は1.3.0~1.3.2限定の話です。 chainerでcuda.initはも…
追記 この記事の内容は自分の勘違いだっただようで、不正確かもしれません。1.2以前のモデルを1.3で読み込むと ImportError: No module named 'chainer.functions.linear' となる問題。modelで絶対使うLinearのディレクトリ構造が chainer/functions/linear→…
小手先ではRNNに文章を生成させることが厳しい事がわかってきたので、もう少し基礎から勉強。 "1 + 8"という文字列(str)をRNNに読ませて その結果を計算させて正解(9)を出力できるように学習して 今度は逆に答えが9になるような数式を出力 というものをやっ…
変更内容はこちら。pfnet/chainergithub.com今回の大きな目玉はCuPyの導入。バックエンドとして使われていたPyCUDAが自前のライブラリCuPyというものに置き換わったのでPyCUDAのインストールがもう必要ありません。scikit-cudaもいらなくなりまして、GPUで動…
functions.EmbedID(in_size, out_size) in_size (int) – Number of different identifiers (a.k.a. vocabulary size). out_size (int) – Size of embedding vector. RNN/LSTMでよく使うこれ。 EmbedID(単語の数, その単語のベクトル次元数) みたいに使う。 …
ここ一週間ぐらいcupyが無くて先に進めないという声がチラホラ。cupyが無いって怒られるんだけどどうすればいいんだろ— ちゃんまつ氏 (@japapapapam) 2015, 8月 26 chainer君。gpuを使おうとすると動作しないね。cuda.cupyがないとか言われても、dependency…
このシリーズは何なのか ディープラーニングとやらに興味あるけど何から手を付けていいかわからない そもそも機械学習って何なのかわからない 数式読めない 微分積分わからない 高校卒業してから数学を学んだ事が無い chainerのサンプルを試してみたけれど中…
chainer使ってて遭遇したエラー文をwebに上げて同じように遭遇した人がすぐ解決出来るようにしたいのでどんどん書いていく。 chainer.utils.type_check.InvalidType: Expect: in_types[0].dtype == in_types[1].dtype Actual: float64 != float32 よく遭遇す…
一ヶ月後にリリース予定のcupyバージョンのChainerを使ってみる。import cudnnのところでエラー。どうもCuDNN環境が無いと動かない模様でlibcudnn.soを入れたら動きだした。CuDNNのバージョンはv2。 cuda.init()が必要無くなってる。 というかこれがあるとエ…