質問: Lambda(lambda x: tf.matmul(x, tf.matrix_transpose(x)))(L) ``` 試したこと そもそも使えないんでコードの挙動も詳しく確認できず 調べて大まかにはわかったんですが で?どうすれば?という状態です 代わりになるもの を調べる方法なんてわからない バージョン下げようにもほかのエラーばかりで試すことができません これ以上何もできない 現在の環境に合わせるにはどうすればいいですか?
回答: 他の方のコードをご自身の環境で動かそうとしてダメだったという理解を前提でコメントします。 tensorflowはバージョンが異なると微妙にAPIの仕様が変わるので、バージョン相違が原因と思って間違いないかと思います。特に1.x系と2.x系が大幅に変更になったそうなので、表題を見る限り参考にしているコードは1.xの可能性が高いと思います。 対処方法は地道に頑張る以外にありません。対応表のようなものがあればいいのですが、公式ドキュメントにないようなので、存在しないことを前提に作業を進めるしかないでしょう。コードを読み処理仕様を理解する→処理仕様に相当する関数を公式ドキュメントなどから探す→実装する、というアプローチ以外に手立てはないと思ったほうがいいでしょう。 ちなみにAPIの仕様変更には、引数の変更・関数の統廃合に加えて戻り値の仕様変更も含まれます。よってエラーが吐かれないからうまくいっているとは限らないので、注意したほうがいいでしょう。 とりあえず、ご自身で書き換えをする努力をして、わからないことがあれば、「tensorflow2.2上で〇〇を〇〇にしたいです、参考にしたコードはtensorflow x.xなので同じことができる関数があれば教えてください」という感じで質問されれば、回答がもらえるようになるかと思います。 最後に一番確実なのは、ご自身の環境を変えることだということを申し添えておきます。何らかの理由があって変えたくないのであれば仕方ありませんが、単純にうまくいかないだけであれば、そのエラー対応のための質問をされたほうがいいと思います。