#include "ops.h" namespace operators { static float epsilon = 1e-6; float is_close(float x, float y) { // 请修改这里的return语句 return (float)(abs(x-y)=0) return 1.0/(1.0+exp(-x)); else return exp(x)/(1.0+exp(x)); } float relu(float x) { // 请修改这里的return语句 return x>0.0?x:0.0; } float inv(float x) { // 请修改这里的return语句 return 1.0/x; } float inv_back(float x, float d) { // 请修改这里的return语句 return -d/(x*x); } float relu_back(float x, float d) { // 请修改这里的return语句 return x>0.0?d*1.0:0.0; } auto sumList(const std::vector& vec) -> float { return reduce(vec, 0.0f, add); } auto prodList(const std::vector& vec) -> float { // 请修改这里的return语句 return reduce(vec, 1.0f, mul); } auto addLists(const std::vector& vec1, const std::vector& vec2) -> std::vector { // 请修改这里的return语句 return zipWith(vec1, vec2, add); } auto negList(const std::vector& vec) -> std::vector { // 请修改这里的return语句 return map(vec,neg); } }