サイズ308x22 x 29 x 12x492020のMATLABにテンソルがあります。かなり大きいです。私たちはそれを分解しました、そしてそれはうまくいきました。今、私たちはいくつかの予測を得るためにそれを再構築しようとしています。実行すると、最後の次元の乗算を実行すると、メモリ不足でクラッシュします。
再構成を容易にするために、テンソルを2x2行列に平坦化しようとしていました。それを行う方法が見つかりません。matlabでreshape関数を使用しようとしましたが、成功しませんでした。したがって、基本的には、matlabで(308 x 22 x 29 x 12 x 492020)テンソルを2D行列に変換する方法を知りたいと思います。
データをもう少し説明するだけです。購入する車を検索しているユーザーのデータベースがあります。おすすめモデルをやりたいです。5つの次元を持つテンソルを作成しました:308(車種)x 22(ボディタイプ)x 29(価格カテゴリ)x 12(製造年)x 492020(ユーザー)。次に、テンソル分解を実行し、最後に分解されたディメンションでクラスタリングを実行して、ユーザーを検索ごとにグループ化し、検索ログの依存関係を構築します。ここまでは大丈夫です。次に、分解されたバージョンからテンソルを再構築して、予測として機能するいくつかの新しいレコードを取得します。テンソルが巨大であることを考えると、再構築を実行するためにテンソルを平坦化する方法が必要です。私はmatlabに比較的慣れていないので、誰かがそれを行う方法のサンプルmatlabコードを共有できればよいでしょう。だから私は5Dテンソルを2Dに変換したい