2019年11月2日、土曜日。
今日から3連休が始まる。
いい天気になった。
しかし、遊んでいる暇はない。
明日から始まるAIスクールの事前課題がまだ終わっていないのだ。
それで朝から動画で勉強している。
ところがnumpyでベクトルを定義しようとしたら、
ValueError : only 2 non-keyword arguments accepted
というエラーがいきなり出た。
Google翻訳で和訳すると、
わけのわからない日本語に変換された。
あれこれあたりをつけて試したがダメで、
最後のほうには、
違うパソコンでやってみるか?
と理系の人なら絶対思いつかない(←絶対解決しないから)荒技まで考えたが、
さすがにそれはやめた。
自力での解決はあきらめて動画だけ先に進めたら、
次の章で「よくある間違い」が説明されていて、
それがそのまんま、原因だった。
早く言ってよ!
そこから線形代数計算に向いたライブラリのnumpyではなく、
Googleの機械学習ライブラリ「Scikit-learn(サイキット・ラーン)」を使ったら、
あっという間に小難しい計算抜きにパラメータが求められた。
早くやってよ!
しかし、これならいつものように
準備されたコードをGoogle Colab(グーグル・コラボ)でクリックして実行していくのと同じことだ。
絶望的に難しい行列計算で損失関数を計算し、
numpyを使ってそれを確認しながら実行していく、
この手間が学習なのだ。
プログラミングにエラーはつきものだ。
そのエラーを解決する力、その答えとなる引き出しをどれだけ多くもっているか、
それがエンジニアの技量だ。
文句言わずにやっていこう!