タグ

2016年4月3日のブックマーク (4件)

  • YARVのバイトコードをRubyに変換する話 - Qiita

    RubyのVMとして知られているYARVのバイトコードをRubyに変換するプログラムを昔書いたことがあるのでその話を書きます。YARVについてはYARV Maniacsを見てもらうのが一番だと思います。 なぜそんなものを? 昔、YARV2LLVMなるものを作っていました。YarvのバイトコードをLLVMに変換するというプログラムです。効率を上げるために型推論をやったりとかしているのですが、詳細は今回の話とは関係ないので詳しくは、Ruby会議で発表した資料でも見てください。 YARV2LLVMではRubyが実行時に提供しているメタプログラミングの機能をコンパイル時に提供するためにマクロ機能を実装しました。マクロはたとえば次のように定義します。 YARV2LLVM::define_macro :attr_reader do |arg| arg.each do |argele| name = a

    YARVのバイトコードをRubyに変換する話 - Qiita
  • 写真から説明文を自動生成するbotを作った | 一生あとで読んでろ

    これはなに @img2cap fileという形式で画像を投げつけると説明文をつけ加えて返信するだけのTwitter bot. しくみ CNN + LSTM. 以下の論文や実装を参考にした.裏ではChainerが動いている. 論文 [1411.4555] Show and Tell: A Neural Image Caption Generator 実装 apple2373/chainer_caption_generation: Caption generation from images using deep neural net dsanno/chainer-image-caption データセット Microsoft COCOをVGG_ILSVRC_19_layersで学習したもの はじめは論文通りの活性化関数と勾配法を試してみたが,dsanno氏のいうようにSGDよりAdamの方が高

  • わかるLSTM ~ 最近の動向と共に - Qiita

    Machine Learning Advent Calendar 2015 第14日です。去年のAdvent Calendarで味をしめたので今年も書きました。質問、指摘等歓迎です。 この記事の目的 ここ2~3年のDeep Learningブームに合わせて、リカレントニューラルネットワークの一種であるLong short-term memory(LSTM)の存在感が増してきています。LSTMは現在Google Voiceの基盤技術をはじめとした最先端の分野でも利用されていますが、その登場は1995年とそのイメージとは裏腹に歴史のあるモデルでもあります。ところがLSTMについて使ってみた記事はあれど、詳しく解説された日語文献はあまり見当たらない。はて、どういうことでしょうか。 記事ではLSTMの基礎をさらいつつ、一体全体LSTMとは何者なのか、LSTMはどこに向かうのか、その中身をまとめ

    わかるLSTM ~ 最近の動向と共に - Qiita
  • 安心してRailsアップグレードを行うための工夫 - クックパッド開発者ブログ

    こんにちは。技術部の国分 (@k0kubun) です。 3/28にクラウドワークスさんで行なわれたRails Upgrade Casual Talksで、Railsアップグレードの際にクックパッドが行なっている工夫について紹介しました。 影響範囲の予測が難しいRailsのアップグレードを安全に行なうための動作確認のやり方について参考になればということで、記事でも改めて紹介いたします。 CookpadのRailsアップグレードの流れ Rails 4.1から4.2にアップグレードした際の例を紹介します。 CIにRails 4.2用ジョブを用意 まずはRails 4.2にアップグレードするためのrails42ブランチでテストを通します。リリースするまでこのブランチはmasterからrebaseし続けるので、リリースまでテストを通る状態を保つため、CIにrails42ブランチ用のジョブを用意しま

    安心してRailsアップグレードを行うための工夫 - クックパッド開発者ブログ