rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

与えるデータを変更したら原因不明確なエラーが吐かれた

なんだか原因がはっきりしないエラーが吐き出される。 しかも、実行するごとにエラーコードが変わってる気がするのだが、なんだろこれ。

...という事態に見舞われた。 結果として、原因は入力データ数がミニバッチ数で割り切れない数だったので、あるひとつのミニバッチだけオカシイことになっていたというものだった。

よくある間違いとして、受け付けられないデータ型で渡してしまったとか、次元数が違うとかがある。 そういうよくある間違いはエラー文ではっきりと教えてもらえる。 しかし、開発者側でも予期していなかったような斜め上の間違いをすると、まあ、はっきりしたエラー文を返してくれない。 (冷静に考えれば当たり前だけど。。)

よく分からないメッセージでエラー箇所もライブラリの奥の方だったりすると、もう、焦る。 焦って、これは自分では解決できない類の問題なんじゃないかと匙を投げたくなったりする。 けど、経験上、多くの人に使われてるライブラリの根幹部分に問題があることより、拙い自分のコードに問題があることの方がとっても多い。

だから、落ち着いて、笑っちゃうようなミスがないかどうかチェックしよう。と、思った。