私は複数の小さなモデル/ボットを一緒にトレーニングするためにBucketingModuleを使用しています。ここで、バケットキーはbot_id
です。しかし、各ボットには、ターゲットラベル/クラスの別々のセットがあります(したがって、各ボットのsoftmaxレイヤのサイズが異なります)。mxnetのBucketingModuleの特定のレイヤー間のウェイト共有を回避するには?
このようなモデルをmxnetでトレーニングする方法はありますか?すべてのボットの中で1つではなく、すべてのレイヤーの重みを共有したいのですか?
sym_gen
メソッドを使用してこのようなモデルを初期化するにはどうすればよいですか? ソフトマックス層に私はnum_hidden=size_dict[bot]
即ち、
pred = mx.sym.FullyConnected(data=pred, num_hidden=len(size_dict[bot]), name='pred')
pred = mx.sym.SoftmaxOutput(data=pred, label=label, name='softmax')
を指定sym_gen
方法において、Iは、エラーを取得した場合:
Inferred shape does not match shared_exec.arg_array's shape
各ボットがターゲットクラスの異なる数を有するように理にかなっています。
リンクの後にコンテキストを追加しました。 –