読者です 読者をやめる 読者になる 読者になる

studylog/北の雲

chainer/python/nlp

chainerメモ その4

CuPy 9月はじめに予定されている1.3.0で大型のアップデートが来る模様。[WIP] CuPy: Add and use a new GPU array backend with NumPy-compatible interface by beam2d · Pull Request #266 · pfnet/chainergithub.comchainerではGPU(CUDA)を使う際にPyCUDA/…

RNN/LSTMメモ 後で消すかも

LSTMでコマンドライン操作を予測させてみる - shi3zの長文日記d.hatena.ne.jp 多分これ学習の時点で失敗してる気がします。 http://d.hatena.ne.jp/shi3z/20150714/1436832305でもepochが進む度にperplexityが上がってるのはおかしいです。イマイチ中身を理…

chainerのサンプルコードを集めてみた(チュートリアルも追加)

(2016.1.21追記)最近あまりメンテナンスしてないので1.5以上のバージョンを使ってる人には役に立たなくなったかもしれません。(2015.12.15追記)当初はサンプルコードにリンクを貼っただけの記事でしたがチュートリアル等も含めたものに加筆中。また古くなっ…

chainer 1.1.0リリース

chainerの1.1.0がリリースされたようです。pfnet/chainergithub.com python3.4公式対応(多分3.3でも問題無いです) Caffe Reference Modelのサポートhttp://docs.chainer.org/en/latest/reference/caffe.html Visualization of Computational Graph http://do…

cahinerメモ3

chainerドキュメント・チュートリアルのGPUで動かすところの最後がtypo? Using GPU(s) in Chainer — Chainer 1.0.1 documentationデータパラレルのところのこのコード optimizer.acumulate_grads(model_1.gradients) #accumulateのtypo optimizer.update() m…

文字を流し込むだけのRNNを試してみた

yusuketomoto/chainer-char-rnngithub.com こちらのchainerで実装されたRNNを試してみました。 RNNやLSTMの理屈や構造はさっぱりわかりませんが、連続して与えられた文字列から次の文字を予測するというもの。サンプルを見るとシェークスピアの文字列を構文…

chainerメモ2

苦戦中CPUでは学習が進むけどGPUだと進まない問題に遭遇。 model.W.dataで重みを見るとbackwordしても変わって無いのであれ?と思ってlossを見たらF.mean_squared_error()が返してるデータがCPUとGPUで何か違う。 #GPUはちゃんとcuda.to_gpuを通した前提で a…

chainerメモ その1

GPU/CUDAで動かしててこんなエラーが出たら ValueError: unsupported combination of input types terminate called after throwing an instance of 'pycuda::error' what(): explicit_context_dependent failed: invalid device context - no currently act…

python3でchainer(CUDA)が一部動いた

6.27現在ではpip3 install chainerでインストールされるものは対応されていない。 sudo pip3 install -e git+https://github.com/pfnet/chainer#egg=chainer-master これで最新版が入るのかな。 動いたサンプル MNIST CPU OK CUDA OK ptd CPU OK CUDA OK sen…

構築済みの日本語のWordEmbeddingベクトルがあればいいのに

nlp

と常々思っていたのだけど、探しても見つからなかった。 自分で作るのは結構時間がかかるし、その道の専門家の人がきちんと作ったものじゃないと精度が低いだろうし…。なんて思ってたらこんなのが。 word-vector-web-api/README.ja.md at master · overlast/…

CUDA Registered Developer Program、却下される。

NVIDIA® cuDNN – GPU Accelerated Deep Learningdeveloper.nvidia.com が使いたくて申し込んだのだけれど、使いたい理由を書いてくれと言われて適当な英語1行で提出したら見事に却下されました。まさかちゃんと中の人が読むものだとは思わなかったので困惑。…

chainerをGPUで動かしてみた

先日GPUを仕入れたのでchainerをGPUで動かしてみました。 CUDAやpycudaの設定に戸惑い3回ものOSクリーンインストール経て疲れ果てましたけど、ようやく先ほど動き出したようです。CUDAをapt-getで入れると依存関係?がめちゃくちゃになって崩壊しました。最…

CUDA+chainer環境に苦戦中

もう10時間ぐらい苦戦中で辛い。さっきようやくPyCUDA成功してchainer動かそうとしたんだけど RuntimeError: CUDA environment is not correctly set up. The original import error said: cannot import name intern (追記 sixを1.9に上げたら解決。途中で…

gemsimのWord2vecファイルをpy2系と3系でやり取りしたい

以前python3系のgensimのword2vecで作ったデータを2系で読もうとしたらエラーraise ValueError, "unsupported pickle protocol: %d" % proto ValueError: unsupported pickle protocol: 3pickleのプロトコルが違うらしい ValueError: unsupported pickle pro…

Chainerのpython3対応はもうまもなく、な気がする

先日リリースされたPFIのディープラーニング向けpythonライブラリChainer。 3系には残念ながら対応していませんが、もう間もなく対応してくるんじゃないかと思ってます。Python 3 compatibility · Issue #22 · pfnet/chainer · GitHub意訳 A:3系はどうなん…

Mac10.7にMongoDB3.0はインストールできない?

Install MongoDB on OS X — MongoDB Manual 3.0.4によると、 PLATFORM SUPPORT Starting in version 3.0, MongoDB only supports OS X versions 10.7 (Lion) on Intel x86-64 and later. とあって10.7はインストールできるように見える。 しかしいざソースか…

paramikoでディレクトリを移動したい

pythonからSSHを使う時の定番paramiko。 ディレクトリ移動ではまったのでメモ。exec_command('pwd') #=> /home/kitanokumo と現在のディレクトリが返って来る exec_command('cd ..') #一つ上のディレクトリに移動 exec_command('pwd') #=> /home が返って来…

mongoengineのFieldDoesNotExist

mongoengineがフィールド定義されていないデータが入っていたらFieldDoesNotExistを吐くようになった? 以前は多分こういう挙動じゃなかったと思うので0.9からなんだろうか。 こういう話も。github.com時間無くて0.8以前で試せなかったので不正確な情報だけ…

mongoengineあれこれ

怒濤の連投。 使ってる人がいないのかほとんど日本語の情報が出てこないので小ネタでもいいから書いていく。 クエリについて #新宿が含まれてるの User.objects(address__contains="新宿") #新宿と渋谷がどちらも含まれてるもの・・・といきたいところだとこ…

Mongoengineのcountの仕様

たまにハマるのでUserは100万人いるとする user = User.objects().limit(100)user.count() #=> 1000000 limitとかskipと一緒に使うと予想外の結果が返って来る可能性あり limit(100)なんだから最大でも100なんだろうと期待してコード書くとマズい あくまでob…

MongoDBでskipをなるべく使わない

MongoDBインアクションを久々に読んでみてなるほどと思った所をメモ。P113 50000番目のエントリを取って来るのにskip(50000)とやるとそこまで全部読むので非効率 それを回避する為に検索条件に取りたいエントリの_idとかインデックスが張られたものをクエリ…

ここ数年で一気にpython3への対応が進んでた

プログラミングへの情熱がほぼ0だった1年半を経て最近猛烈にコードを書いてる。そんでpython3へのライブラリ等の対応が劇的に進んでる事に気付いた。本ブログの方で「pythonにしたの失敗だったかなあ…って」書いた二週間後にこんなこと言い出すのも何だけど…

Pylearn2チュートリアルではまったとこメモ(python3)

nlp

DeepLearning - Pylearn2を使って手書き文字認識を行う - Qiitaqiita.comここ参考にPylearn2のチュートリアルやってたんだけどはまったのでメモ。 元を書いた人はprintの仕様から多分py2系なんだと思う。学習終わって最後のtest_result.pyのところのpickle.l…

collections.Counterの勉強

collectionsモジュールをちゃんと勉強したい。今日はcollections.Counter。 この文章には〜という単語がいくつ含まれているか、みたいなのはこれ使った方が楽。 文章のBoW作る時は絶対これ使いたい。 c = collections.Counter(["tomato" , "orange" ,"apple"…

(未解決)大規模疎行列のコサイン類似度

タスク: 文章同士の類似度をコサインで出したい。次元: 60000単語*1000000文章結果; 破綻どうにかならないものかとnumpy・scipyを使ってみるんだけど行列の知識が無さ過ぎてさっぱりわからない。What's the fastest way in Python to calculate cosine si…

Mecabのipadic-NEologd辞書の地名について

ipadic-NEologd試してみた。地名でちょっとひっかかるところがあったのでメモ。 都道府県+政令指定都市のパターン 神奈川県横浜市中区 -> 神奈川県 横浜市 中区 北海道札幌市中央区 -> 北海道札幌市 中央区 上は都道府県・政令指定都市・区が全て分離してる …

Pycharm Djangoのviewからtemplateへ

Djangoのviewからtemplateに直接移動できないのかな?とずっと思ってたけど解決。 def aaa(request): return render_to_response('aaa.html') ここでaaa.htmlにカーソル移動してQuickDefinition経由で飛べた。 他にやり方ありそう。

Pycharm4のCodeCompleteについて

4を試用してるんだけどコードコンプリートの挙動が変わってて困ってます。 2.7ではfiと打ってTabを押すと自作のfirst()が展開されてました。 これは例えばuser = User.objects().fiここまで打ってTabを押してもちゃんとfirst()が展開されてたんですね。 つま…

MongoDB3.0とmongoengine

MongoDBが3.0になって大幅に変わっている。性能アップ。 それにともないpymongoも3.0系に上がってる。でもmongoengineの最新0.9.0は対応してないので、結果として現時点ではMongoDB3.0を自分のシステムでは使えない。Mongo 3.0 compatibility · Issue #861 ·…

pycharmなどJetbrain系IDEでファイルを消しちゃった場合の復活方法

pycharm以外で試してないけれど全く同じはず 画像が消えていて分かり辛いけれどここ取っ掛かりにした http://blog.jetbrains.com/idea/2008/01/using-local-history-to-restore-deleted-files/ 1.消しちゃったファイルのプロジェクトのトップディレクトリでL…

非負値行列因子分解(NMF)

行列を分解して特徴を抽出する?非負値行列因子分解について勉強中。 導入 非負値行列因子分解 - sonoshouのまじめなブログ Non-negative Matrix Factorization(非負値行列因子分解) - あらびき日記 集合知プログラミング10章 雑感 ドキュメント群を教師無…

Djangoでスマホ振り分け

RailsだとjpmobileがあったけどDjangoにはあんまり良さそうなのが見つからないのでPCとスマホを振り分けるコードを書いたミドルウェアのprocess_viewはビュー実行前に通過するのでここでUserAgentより振り分け処理開始 from user_agents import parse class …