当前位置: 首页>>代码示例>>C++>>正文


C++ cube::num_elements方法代码示例

本文整理汇总了C++中cube::num_elements方法的典型用法代码示例。如果您正苦于以下问题:C++ cube::num_elements方法的具体用法?C++ cube::num_elements怎么用?C++ cube::num_elements使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cube的用法示例。


在下文中一共展示了cube::num_elements方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: apply

 void apply(cube<real>& v, real bias) noexcept override
 {
     real* d = v.data();
     size_t  n = v.num_elements();
     for ( size_t i = 0; i < n; ++i )
         d[i] = f_(d[i] + bias);
 }
开发者ID:muqiao0626,项目名称:znn-release,代码行数:7,代码来源:transfer_function.hpp

示例2:

 typename std::enable_if<has_public_member_grad<T>::value>::type
 apply_grad(cube<real>& g, const cube<real>& f, const T& fn) noexcept
 {
     real* gp = g.data();
     const real* fp = f.data();
     size_t  n = g.num_elements();
     for ( size_t i = 0; i < n; ++i )
         gp[i] *= fn.grad(fp[i]);
 }
开发者ID:muqiao0626,项目名称:znn-release,代码行数:9,代码来源:transfer_function.hpp

示例3: convolve_constant

inline void convolve_constant( cube<T> const & a,
                               identity_t<T> b,
                               cube<T> & r) noexcept
{
    ZI_ASSERT(size(a)==size(r));

    T const * ap = a.data();
    T * rp = r.data();

    for ( size_t i = 0; i < r.num_elements(); ++i )
        rp[i] = ap[i] * b;
}
开发者ID:muhammadriz,项目名称:znn-release,代码行数:12,代码来源:convolve_constant.hpp

示例4: convolve_constant_flipped

inline T convolve_constant_flipped( cube<T> const & a,
                                    cube<T> const & b ) noexcept
{
    ZI_ASSERT(size(a)==size(b));

    T r = 0;
    T const * ap = a.data();
    T const * bp = b.data();

    for ( size_t i = 0; i < a.num_elements(); ++i )
        r += ap[i] * bp[i];

    return r;
}
开发者ID:muhammadriz,项目名称:znn-release,代码行数:14,代码来源:convolve_constant.hpp

示例5: dropout_backward

    // performs inplace dropout backward
    inline void dropout_backward(cube<real> & g)
    {
        ZI_ASSERT(mask_);

        size_t s = g.num_elements();
        for ( size_t i = 0; i < s; ++i )
        {
            if ( mask_->data()[i] )
                g.data()[i] *= scale();
            else
                g.data()[i]  = static_cast<real>(0);
        }

        // Should we reset mask_ here?
    }
开发者ID:muqiao0626,项目名称:znn-release,代码行数:16,代码来源:dropout_edge.hpp

示例6: dropout_forward

    // performs inplace dropout and returns dropout mask
    inline void dropout_forward(cube<real>& f)
    {
        if ( !mask_ )
        {
            mask_ = get_cube<bool>(size(f));
        }

        // new random mask
        bernoulli_init<bool>(ratio_).initialize(mask_);

        size_t s = f.num_elements();
        for ( size_t i = 0; i < s; ++i )
        {
            // dropout
            if ( mask_->data()[i] )
                f.data()[i] *= scale();
            else
                f.data()[i]  = static_cast<real>(0);
        }
    }
开发者ID:muqiao0626,项目名称:znn-release,代码行数:21,代码来源:dropout_edge.hpp

示例7:

  std::tuple<real,real,cube_p<real>> square_loss( cube<real> const & cprop,
                                                  cube<real> const & clab )
    {
        std::tuple<real,real,cube_p<real>> ret;
        std::get<0>(ret) = 0;
        std::get<1>(ret) = 0;
        std::get<2>(ret) = get_copy(cprop);

        real* grad = std::get<2>(ret)->data();
        const real* lab  = clab.data();

        long_t n = clab.num_elements();

        for ( long_t i = 0; i < n; ++i )
        {
            std::get<1>(ret) += ( grad[i] > 0.5 ? ( lab[i] > 0.5 ? 0 : 1 ) : ( lab[i] > 0.5 ? 1 : 0 ) );
            grad[i] -= lab[i];
            std::get<0>(ret) += grad[i]*grad[i];
            grad[i] *= 2;
        }

        return ret;
    }
开发者ID:muhammadriz,项目名称:znn-release,代码行数:23,代码来源:ISBI2012.cpp


注:本文中的cube::num_elements方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。