studylog/北の雲

chainer/python/nlp

2015-08-01から1ヶ月間の記事一覧

シンプルなRNN/LSTMだけでまともな文章はできない

nlp

「プログラムが自動で文章を生成する」昔からこれにロマンを感じてる。 やってて面白い。暇つぶしになるし、副次的に色んなことの勉強になるし、もしかしたらいつかいいプログラムが作れてお金になるかもしれない、なんてぼーっと考えてる。今年に入ってから…

chainerメモ8 後からEmbedIDの数を増やしたい

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(単語の数, その単語のベクトル次元数) みたいに使う。 …

chainerメモ7 AttributeError: 'module' object has no attribute 'cupy’

ここ一週間ぐらいcupyが無くて先に進めないという声がチラホラ。cupyが無いって怒られるんだけどどうすればいいんだろ— ちゃんまつ氏 (@japapapapam) 2015, 8月 26 chainer君。gpuを使おうとすると動作しないね。cuda.cupyがないとか言われても、dependency…

ディープラーニング入門のための入門 その1

このシリーズは何なのか ディープラーニングとやらに興味あるけど何から手を付けていいかわからない そもそも機械学習って何なのかわからない 数式読めない 微分積分わからない 高校卒業してから数学を学んだ事が無い chainerのサンプルを試してみたけれど中…

Requests(python)で文字化けする場合

RequestsはシンプルなHTTPライブラリですがよく文字化けします。Shift_JISのサイトだと多めな印象。 html = requests.get("http://Shift_JISのサイト") print(html.encoding) #=> ISO-8859-1 なのでここを参考に [Python]requestsが正しくエンコード情報を返…

chainerメモ6 float64 != float32 エラー

chainer使ってて遭遇したエラー文をwebに上げて同じように遭遇した人がすぐ解決出来るようにしたいのでどんどん書いていく。 chainer.utils.type_check.InvalidType: Expect: in_types[0].dtype == in_types[1].dtype Actual: float64 != float32 よく遭遇す…

Kerasを使ってみた

TheanoベースのDeepLearningライブラリKerasを使ってみた。 2時間触った程度なのであまり有用なことは書けませんが。Keras Documentation fchollet/keras · GitHubモデルの設定をyaml等で記述しないといけないライブラリと違いpythonワンソースだけで完結す…

出力層にdropoutは必要なのか

NNでdropoutを入れると過学習を防いでくれて精度が高まる、と理解しているのだけど、最後の出力層(推論層)にもdropoutを入れるべきかどうかがわからないchainerのサンプルを見ると ptbサンプル(RNN/LSTM)は出力層にもdropout。 h1_in = model.l1_x(F.dropout…

cupy使ってみる

一ヶ月後にリリース予定のcupyバージョンのChainerを使ってみる。import cudnnのところでエラー。どうもCuDNN環境が無いと動かない模様でlibcudnn.soを入れたら動きだした。CuDNNのバージョンはv2。 cuda.init()が必要無くなってる。 というかこれがあるとエ…

chainerメモ5 AttributeError: 'GPUArray' object has no attribute 'T'

chainerをCPU環境でテストしながら実装してて、さあいざ本番のGPUで走らそうとするとこのエラーが出て悩んだ。ちゃんとcuda.init()もmodel.to_gpu()もしてるし、modelに投げるデータもto_gpu()してるはずなのに。 AttributeError: 'GPUArray' object has no …

RNNでのテキスト生成

nlp

最近RNNを使ってのテキスト生成で遊んでます。 色んなやり方があるのでメモ。呼び名は適当に命名しています。 ○はRNNに与える単語で、?が予想して出力する単語。 1.順生成 ○○○○○○?最も一般的。文章の時間軸に沿って単語を予測する。 2.逆生成 ?○○○○○○○文章を…