| 711 | } |
| 712 | |
| 713 | std::vector<float> softmax_values(const Param & bias) { |
| 714 | const float max_value = *std::max_element(bias.values.begin(), bias.values.end()); |
| 715 | std::vector<float> values = bias.values; |
| 716 | float denom = 0.0f; |
| 717 | for (float & value : values) { |
| 718 | value = std::exp(value - max_value); |
| 719 | denom += value; |
| 720 | } |
| 721 | for (float & value : values) { |
| 722 | value /= denom; |
| 723 | } |
| 724 | return values; |
| 725 | } |
| 726 | |
| 727 | core::TensorValue graph_downsample( |
| 728 | core::ModuleBuildContext & ctx, |
no test coverage detected