float sigmoid(float x)
{return (1 / (1 + exp(-x)));
}
float sigmoid_dy_dz(float x)
{return (x * (1.0 - x));
}
float tanh_dy_dz(float x)
{return (1.0 - x*x);
}
//对每一行进行softmax
void softmax(float *x, int row, int column)
{for (int j = 0; j < row; ++j){float max = 0.0;float sum = 0.0;for (int k = 0; k < column; ++k)if (max < x[k + j*column])max = x[k + j*column];for (int k = 0; k < column; ++k){x[k + j*column] = exp(x[k + j*column] - max);    // prevent data overflowsum += x[k + j*column];}for (int k = 0; k < column; ++k) x[k + j*column] /= sum;}
}   //row*column

下面是softmax:

这个可以:

https://blog.csdn.net/u013381011/article/details/82500805

//对每一行进行softmax
void softmax(float* x, int row, int column)
{for (int j = 0; j < row; ++j){float max = 0.0;float sum = 0.0;for (int k = 0; k < column; ++k)if (max < x[k + j * column])max = x[k + j * column];for (int k = 0; k < column; ++k){x[k + j * column] = exp(x[k + j * column] - max);    // prevent data overflowsum += x[k + j * column];}for (int k = 0; k < column; ++k) x[k + j * column] /= sum;}
}   //row*columnint main(){float a[] = { 0.1,0.2,0.3,0.4 ,-0.1};softmax(a,1,5);std::cout << "Hello World!\n";
}

softmax c++实现with opencv

  cv::Mat_<double> mat(3,3);mat(0,0)=VIRTUAL_FOCAL;mat(0,1)=0;mat(0,2)=roiSize_x/2;mat(1,0)=0;
int softmax(const cv::Mat & src, cv::Mat & dst)
{float max = 0.0;float sum = 0.0;max = *max_element(src.begin<float>(), src.end<float>());cv::exp((src - max), dst);sum = cv::sum(dst)[0];dst /= sum;return 0;
}

c++:

#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <numeric>double myfunction(double num) {return exp(num);
}template <typename T>
void softmax(const typename::std::vector<T> &v, typename::std::vector<T> &s){double sum=0.0;transform(v.begin(), v.end(), s.begin(), myfunction);sum=accumulate(s.begin(), s.end(), sum);for(size_t i=0; i<s.size(); ++i)s.at(i)/=sum;
}int main() {double a[]={1.0, 3.0, 2.0};std::vector<double> v_a(a, a+sizeof a/sizeof a[0]), v_b(v_a);std::vector<double>::const_iterator it=v_a.begin();for(; it!=v_a.end(); ++it) {std::cout<<*it<<" ";}std::cout<<std::endl;softmax(v_a, v_b);it=v_b.begin();for(; it!=v_b.end(); ++it) {std::cout<<*it<<" ";}std::cout<<std::endl;return 0;
}

c++ softmax sigmoid相关推荐

  1. softmax sigmoid log softmax 辨析

    原文链接: sigmoid和softmax总结_老哥的专栏-CSDN博客_sigmoid和softmax区别 浅谈sigmoid函数和softmax函数_甘如荠-CSDN博客_sigmoid函数与so ...

  2. 【机器学习】Softmax和Sigmoid

    如果你在开发一个音乐分类的应用,需要对k种类型的音乐进行识别,那么是选择使用 softmax 分类器呢,还是使用 logistic 回归算法建立 k 个独立的二元分类器呢? 这一选择取决于你的类别之间 ...

  3. 【神经网络】激活函数softmax,sigmoid,tanh,relu总结

    激活函数使用原因 如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合. 如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性 ...

  4. 整理Sigmoid~Dice常见激活函数,从原理到实现

    本文首发于我的个人博客: 激活函数:https://fuhailin.github.io/activation-functions/ 并同步于我的公众号:赵大寳Note(ID:StateOfTheAr ...

  5. 【深度学习】Softmax 函数

    Introduction Softmax函数,又称 归一化指数函数 . 该函数 是最流行的 分类任务目标函数,也是 Sigmoid函数 的一种 推广.可转换为交叉熵误差 (CE) . Softmax ...

  6. 常见的神经网络求导总结!

    ↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:Criss,来源:机器学习与生成对抗网络 derivative of ...

  7. TensorFlow之图结构与TensorBoard可视化

    TensorFlow之图结构与TensorBoard可视化 1.1 什么是图结构 图包含了一组tf.Operation代表的计算单元对象和tf.Tensor代表的计算单元之间流动的数据. 1.2 图相 ...

  8. 收藏 | 神经网络的 5 种常见求导,附详细的公式过程

    来源:机器学习与生成对抗网络 本文约1800字,建议阅读5分钟 本文为你介绍5种常见求导的详细过程! 01 derivative of softmax 1.1 derivative of softma ...

  9. 神经网络的5种常见求导,附详细的公式过程

    来源:机器学习与生成对抗网络 本文约2000字,建议阅读5分钟 本文为你介绍神经网络的5种常见求导方式. 01 derivative of softmax 1.1 derivative of soft ...

最新文章

  1. vue 树形下拉框 亲测 好用
  2. 07-图6 旅游规划 (25分)(以此感谢zyx佬)
  3. QT学习-核心类列表-33、QtTest 34、QtUiTools
  4. python密码学编程pdf-Python密码学编程PDF电子书免费下载
  5. BUU[SCTF2019]Strange apk
  6. emf java_Java实现emf图片字节流转png(jpg)图片字节流
  7. python教程:有参装饰器
  8. phpstorm一个窗口打开多个项目
  9. HALCON示例程序circles.hdev边界轮廓的圆形拟合
  10. Mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围
  11. 注册微服务到Eureka Service
  12. 拓端tecdat|R语言使用Bass模型进行手机市场产品周期预测
  13. 武汉科技大学计算机学院培养方案,武汉科技大学培养方案.DOC
  14. PWM、PPM、SBUS、DSM2这四种协议到底是什么鬼?
  15. CVPR 2021 论文解读Vol.10 | 通用实例蒸馏GID:青出于蓝而胜于蓝
  16. NiFi用户指南文档分析(2)
  17. 大漠穷秋:全面解读Angular 4.0核心特性
  18. 计算机软件过期黑屏怎么办,Adobe flashplayer过期怎么办
  19. Oracle sql执行顺序
  20. 2021年【教师资格】流程全过程

热门文章

  1. VS不能编译指定版本(配置管理错误)
  2. 汇编中的字符串操作指令
  3. rose框架学习总结
  4. Linux0.11进程分配时间片的策略
  5. 堆密度测定的意义_堆密度的测量
  6. C Operator | and can also operate bool operands
  7. 买卖股票 状态机模型的理解
  8. android 编写系统应用,Android应用快速开发系统设计与实现
  9. c语言实现将字符串首尾*删除,C语言实现Trim()函数:删除字符串首尾空格。...
  10. 电商退货处理流程_多个退货单