XlaComputation
別の を構築するときに を使用するにはどうすればよいXlaComputation
ですか? たとえば、次のようAdd
にしようとしている計算に組み込みたい
xla::XlaBuilder add_builder("Add");
auto one = ConstantR0(&add_builder, 1);
auto two = ConstantR0(&add_builder, 2);
auto sum = Add(one, two);
add_builder.Build();
xla::XlaBuilder mul_builder("Mul");
auto three = ConstantR0(&mul_builder, 3);
auto res = Mul(sum, three);
mul_builder.Build();
しかし、私は得る
エラーを処理する代わりに値をフェッチしようとしています無効な引数: ハンドル 3 の XlaOp はビルダー 'Add' によってビルドされていますが、ビルダー 'Mul' で使用しようとしています:
あるビルダーを別の計算で使用することになっていないことは承知していますが、それがその計算の結果に対応するXlaOp
場合にそれを回避する方法がわかりません。XlaOp
ソースコードの次のコメントを読んだ後
// This represents an instruction that has been enqueued using the XlaBuilder.
// This is used to pass to subsequent computations that depends upon the
// instruction as an operand.
class XlaOp {
XlaOp
同じビルダーを使用する sにのみ適用されると思います。