Commit 4f685101 authored by Khalique's avatar Khalique
Browse files

slice changes

parent 433427e1
...@@ -497,15 +497,32 @@ struct onnx_parser ...@@ -497,15 +497,32 @@ struct onnx_parser
parse_slice(const std::string&, attribute_map attributes, std::vector<instruction_ref> args) parse_slice(const std::string&, attribute_map attributes, std::vector<instruction_ref> args)
{ {
op::slice op; op::slice op;
std::vector<size_t> dims = args[0]->get_shape().lens();
size_t num_dims = dims.size();
if(contains(attributes, "axes")) if(contains(attributes, "axes"))
{ {
literal s = parse_value(attributes.at("axes")); literal s = parse_value(attributes.at("axes"));
s.visit([&](auto v) { copy(v, std::back_inserter(op.axes)); }); s.visit([&](auto v) { copy(v, std::back_inserter(op.axes)); });
} }
else
{
op.axes = std::vector<int64_t>(num_dims);
std::iota(op.axes.begin(), op.axes.end(), 0);
}
if(contains(attributes, "ends"))
{ {
literal s = parse_value(attributes.at("ends")); literal s = parse_value(attributes.at("ends"));
s.visit([&](auto v) { copy(v, std::back_inserter(op.ends)); }); s.visit([&](auto v) { copy(v, std::back_inserter(op.ends)); });
for (size_t i = 0; i < num_dims; i++)
{
if(static_cast<size_t>(op.ends[i]) > dims[i])
{
op.ends[i] = dims[i];
}
}
} }
if(contains(attributes, "starts"))
{ {
literal s = parse_value(attributes.at("starts")); literal s = parse_value(attributes.at("starts"));
s.visit([&](auto v) { copy(v, std::back_inserter(op.starts)); }); s.visit([&](auto v) { copy(v, std::back_inserter(op.starts)); });
......
...@@ -15,7 +15,8 @@ argument pad(hipStream_t stream, ...@@ -15,7 +15,8 @@ argument pad(hipStream_t stream,
argument result, argument result,
argument arg1, argument arg1,
float value, float value,
std::vector<std::int64_t> pads); std::vector<std::int64_t> pads
);
} // namespace device } // namespace device
} // namespace gpu } // namespace gpu
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment