C+中的tf.最大等效值是多少+; 我试图在C++中找到TF.Max(x,y)函数等价性。基本上,tf.max()的作用是“返回x和y(即x>y?x:y)元素的最大值。”

C+中的tf.最大等效值是多少+; 我试图在C++中找到TF.Max(x,y)函数等价性。基本上,tf.max()的作用是“返回x和y(即x>y?x:y)元素的最大值。”,c++,max,C++,Max,如果有库或内置函数,我会使用它 我真的很想找到最快的方法,除了遍历矩阵或向量中的所有元素 我想使用max函数的主要原因,我想用矩阵中的0或C++中的向量替换任何负值项。 有什么建议吗?预先感谢。 < P>用其他值替换值的正常C++方式是函数对象< /P> std::transform(thing.begin(), thing.end(), thing.begin(), [](float value) { return std::max(0, value); }); 矩阵的确切数据类型是什么?数

如果有库或内置函数,我会使用它

我真的很想找到最快的方法,除了遍历矩阵或向量中的所有元素

我想使用max函数的主要原因,我想用矩阵中的0或C++中的向量替换任何负值项。


有什么建议吗?预先感谢。

< P>用其他值替换值的正常C++方式是函数对象< /P>
std::transform(thing.begin(), thing.end(), thing.begin(), [](float value) { return std::max(0, value); });

矩阵的确切数据类型是什么?数据类型是float。本质上,我想用矩阵或向量中的零替换任何负值项。这就是我计划在tensorflow中使用max函数的原因。矩阵对象的数据类型是什么,而不是矩阵元素的数据类型。向量的向量?float**?对象类型是half_float::half它是元素的类型,而不是矩阵的类型。它会抛出一个错误,比如错误:“auto”在这里是不允许的。用float替换auto如何处理向量或填充了双值的矩阵?在C++14中,您可以在我最初使用它的地方使用
auto
,它将是任何
decltype(东西)::value\u type
是什么(浮动表示
vector
,双精度表示
array
等等)。只需使用包含的类型。您可以改为编写
struct non_negative{template算术运算符()(算术值){return std::max(0,value);}在适当的范围内。这就是自动lambda扩展到的内容(模板参数名称用于提示哪些类型是合适的),但基本上您只希望匹配容器中的类型