test_mul_lrn.cpp 882 Bytes
Newer Older
Shucai Xiao's avatar
Shucai Xiao committed
1
2
3
4
5
6
7
8
9
10
11
12

#include "verify_program.hpp"
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/make_op.hpp>

struct test_mul_lrn : verify_program<test_mul_lrn>
{
    migraphx::program create_program() const
    {
        migraphx::program p;
        auto* mm = p.get_main_module();
Shucai Xiao's avatar
Shucai Xiao committed
13
        migraphx::shape s{migraphx::shape::half_type, {1, 3, 224, 224}};
Shucai Xiao's avatar
Shucai Xiao committed
14
15
        auto x = mm->add_parameter("x", s);
        std::vector<float> vec(s.elements(), 500.0f);
Shucai Xiao's avatar
Shucai Xiao committed
16
        auto l  = mm->add_literal(migraphx::literal(s, vec));
Shucai Xiao's avatar
Shucai Xiao committed
17
        auto xl = mm->add_instruction(migraphx::make_op("mul"), x, l);
Shucai Xiao's avatar
Shucai Xiao committed
18
        auto y  = mm->add_instruction(migraphx::make_op("relu"), xl);
Shucai Xiao's avatar
Shucai Xiao committed
19
20
        mm->add_instruction(
            migraphx::make_op("lrn",
Shucai Xiao's avatar
Shucai Xiao committed
21
                              {{"alpha", 0.0001}, {"beta", 0.75}, {"bias", 1.0}, {"size", 50}}),
Shucai Xiao's avatar
Shucai Xiao committed
22
23
24
25
            y);
        return p;
    }
};