日本語の文章生成を試みた際、コーパスの大きさでValueErrorエラーが発生しました。
エラー文
ValueError: could not broadcast input array from shape (1653,100) into shape (10000,650)
解決法
動かしているファイルは、generate_better_text.pyだが、エラーに対応する数字が変えられるのは、better_rnnlm.py。
better_rnnlm.pyの18-19行目を見てください。
def __init__(self, vocab_size=10000, wordvec_size=650,
hidden_size=650, dropout_ratio=0.5):
vocab_size=10000, wordvec_size=650,hidden_size=650の部分をエラー文にある(1653,100) と同じにしましょう。
def __init__(self, vocab_size=1653, wordvec_size=100,
hidden_size=100, dropout_ratio=0.5):
※私はコーパスの語彙数が1653だったので1653にしていますが、独自のコーパスを使いたい場合は、それぞれ違う数字が出てくると思います。エラー文にある数字(今回だと(1653,100) となっている部分)に合わせてみてください。
こうすると私の場合はうまく動きました。