本文整理汇总了C++中tensor_type::array方法的典型用法代码示例。如果您正苦于以下问题:C++ tensor_type::array方法的具体用法?C++ tensor_type::array怎么用?C++ tensor_type::array使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tensor_type
的用法示例。
在下文中一共展示了tensor_type::array方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: forward
void SoftMax::forward(const tensor_type& data_input)
{
// use of redux for computing logsum...
const double infty = - std::numeric_limits<double>::infinity();
double logsum = infty;
for (difference_type i = 0; i != data_input.rows(); ++ i) {
const double value = data_input.col(0)[i];
if (logsum == infty)
logsum = value;
else if (value > infty) {
if (logsum >= value)
logsum = logsum + utils::mathop::log1p(std::exp(value - logsum));
else
logsum = value + utils::mathop::log1p(std::exp(logsum - value));
}
}
data_output = (data_input.array() - logsum).exp();
}
示例2: backward
void Exp::backward(const tensor_type& data_input, const tensor_type& gradient_output)
{
gradient_input.array() = gradient_output.array() * data_output.array();
}
示例3: forward
void Exp::forward(const tensor_type& data_input)
{
data_output = data_input.array().exp();
}
示例4: backward
void Log::backward(const tensor_type& data_input, const tensor_type& gradient_output)
{
gradient_input = data_input.array() / gradient_output.array();
}
示例5: forward
void Log::forward(const tensor_type& data_input)
{
data_output = data_input.array().log();
}
示例6: backward
void SoftMax::backward(const tensor_type& data_input, const tensor_type& gradient_output)
{
const double sum = (gradient_output.array() * data_output.array()).sum();
gradient_input = (gradient_output.array() - sum) * data_output.array();
}