C++でTensorFlow: Opを実装する( 1 )


Opを実装してみる
今までMatMul、Sub、Div、…などいろいろなOpがあったと思いますが、ここではOp新たに定義して使ってみたいと思います。

tensorflow/core/user_ops/fact.cc
tenserflow/user_ops/ackermann_op.cc

というexampleがありましたが、これについてはAdding New Opを見た方が良いと思うので、これを元に進めたいと思います。
1回ですべてまとめるとかなり長くなりそうだったので、多分3回くらいに分割してやっていきたいと思います。
1回目: Op実装の仕方
2回目: Attrの追加
3回目: Opのポリモーフィズム
もしかしたら2回かも
説明がわかりにくかったらごめんなさい!

1. 追加するOpのインターフェースの定義

まず初めにやることは、OpDefというものを定義して、OpRegistryというものに登録することになります。これは、以下に示したREGISTER_OPというマクロを呼んで定義することになります。

tensorflow/core/framework/op.h
REGISTER_OP(“my_op_name”)
.Attr(“:”)
.Attr(“:=”)
.Input(“:”)
.Input(“:Ref()”)
.Output(“:”)
.Doc(R”( …この記事の続きを読む

サイト名: Qiita - C++

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
AINOW編集部がピックアップしてお届けしています。
以下のフォームから、お気軽にご登録ください♪

こちらの規約にご同意のうえチェックしてください。

規約に同意する


Leave a Reply

Your email address will not be published.