DeepCoder

DeepCoder 追実装まとめ

概略 [(Input, Output)] => Map[関数, 出現確率]の関数をディープラーニングで学習し,それを利用してプログラム空間を探索・プログラム合成をする. 詳しくは論文. 実装 レポジトリ chainerに慣れていないため、諸々非効率的と思うが、実装自体はそこまで…

DeepCoder追実装記録 (4)

前回まで mhiroaki.hatenablog.com mhiroaki.hatenablog.com mhiroaki.hatenablog.com 学習 思い立って800万件で学習する。学習の様子は以下のような感じ。 この時、p2.xlargeのCPUメモリが足りなくなって強制終了されていた。 今回はg3.4xlargeを使って対処…

DeepCoder追実装記録 (3)

前回まで mhiroaki.hatenablog.com mhiroaki.hatenablog.com 学習 前回20万件で駄目だったので、データセットのサイズを増やしていく N=60万 N=100万 N=200万 N=200万で、学習時間は10時間強 (p2.xlargeインスタンス)だった。 今後 データセットのサイズを増…

DeepCoder追実装記録 (2)

前回: mhiroaki.hatenablog.com データセット生成の高速化 方法 入力の型(e.g., [Int], [List], [Int, List, List])ごとに別スレッドでdfsすることで高速化 入力の型が異なるプログラム同士はequivalenceの判定を省いているので、データ競合なく並列化が可能…

DeepCoder追実装記録 (1)

DeepCoder概略 [(Input, Output)] => Map[関数, 出現確率]の関数をディープラーニングで学習し,それを利用してプログラム空間を探索・プログラム合成をする. 詳しくは論文. 追実装について レポジトリ: ここ データセットの生成 深さ優先探索でプログラム…