"src/targets/vscode:/vscode.git/clone" did not exist on "bf2ee6837bad74a22b9c3d2dd88f3b0e998d25b3"
test_conv_add.cpp 1.03 KB
Newer Older
1
2
3
4

#include "verify_program.hpp"
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
5
#include <migraphx/make_op.hpp>
6
7
8
9
10
11

struct test_conv_add : verify_program<test_conv_add>
{
    migraphx::program create_program() const
    {
        migraphx::program p;
12
13
14
        auto* mm = p.get_main_module();
        auto x   = mm->add_parameter("x", {migraphx::shape::float_type, {1, 8, 4, 4}});
        auto w   = mm->add_literal(
15
            migraphx::generate_literal({migraphx::shape::float_type, {2, 8, 3, 3}}, 1));
16
17
        auto y = mm->add_parameter("y", {migraphx::shape::float_type, {1, 8, 4, 4}});
        auto v = mm->add_literal(
18
            migraphx::generate_literal({migraphx::shape::float_type, {2, 8, 3, 3}}, 2));
19
20
21
22
        auto conv1 = mm->add_instruction(migraphx::make_op("convolution"), x, w);
        auto conv2 = mm->add_instruction(migraphx::make_op("convolution"), y, v);
        auto sum   = mm->add_instruction(migraphx::make_op("add"), conv1, conv2);
        mm->add_instruction(migraphx::make_op("exp"), sum);
23
24
25
        return p;
    }
};