Commit 30f03168 authored by Khalique's avatar Khalique
Browse files

fix calculation bug

parent a357cb7e
...@@ -567,13 +567,13 @@ struct tf_parser ...@@ -567,13 +567,13 @@ struct tf_parser
instruction_ref instruction_ref
parse_onehot(const std::string&, attribute_map attributes, std::vector<instruction_ref> args) parse_onehot(const std::string&, attribute_map attributes, std::vector<instruction_ref> args)
{ {
auto indices = args[0]->eval().get<int64_t>().to_vector(); auto indices = args[0]->eval().get<int32_t>().to_vector();
int depth = args[1]->eval().at<int32_t>(); int depth = args[1]->eval().at<int32_t>();
int axis = -1; int64_t axis = -1;
size_t num_indices = indices.size(); size_t num_indices = indices.size();
float on_value = args[2]->eval().at<float>(); float on_value = args[2]->eval().at<float>();
float off_value = args[3]->eval().at<float>(); float off_value = args[3]->eval().at<float>();
if(contains(attributes, "axis")) if (contains(attributes, "axis"))
axis = attributes.at("axis").i(); axis = attributes.at("axis").i();
if(axis == -1) if(axis == -1)
{ {
...@@ -582,8 +582,8 @@ struct tf_parser ...@@ -582,8 +582,8 @@ struct tf_parser
std::fill(output.begin(), output.end(), off_value); std::fill(output.begin(), output.end(), off_value);
for(size_t i = 0; i < num_indices; i++) for(size_t i = 0; i < num_indices; i++)
{ {
if(indices[i] >= 0 and indices[i] < num_indices) if(indices[i] >= 0 and indices[i] < depth)
output[depth * i + indices[i]] = on_value; output.at(depth * i + indices[i]) = on_value;
} }
return prog.add_literal(s, output); return prog.add_literal(s, output);
} }
......
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