Efficient C++ 阅读笔记

Efficient C++ 阅读笔记

技术要点:

  • reference 永远没有成为NULL的机会 如果出现 那么请隔离那个写出这种代码的程序员
  • 在写程序的时候为了系统的健壮性能,一定要测试 指针的可用性能 但是 reference 就可以不用测试.

    {不指向任何对象: pointer
    不同时间指向不同对象:pointer
    总是会代表某个对象,永远不变心:reference }

  • static_cast() 拥有着和传统一样的表现形式
  • const_cast 最常用的用途将某一个对象的常量性去除掉
  • dynamic_cast 协助你巡航于继承体系之中
  • reinterpret_cast 最常用的用途是转换"函数指针" 例如:有一个函数指针返回的是 void 想强制转换 一个函数指针返回 int

    funcPtrArray[0] = reinterpret_cast(&doSomething);
    不具有移植性

  • 多态的具体实现方式:父类的指针指向子类
  • 不要用多态方式处理数组 因为子类的数组移动的大小和父类完全不一样
  • 具体类不要继承自另一个具体类 不太能够上面的犯错
  • 对定制的类型转换保持警觉,因为这样容易导致错误

    解决方案之一 : 对double的重载转换为另一个函数取代类型转换操作符,asDouble 写一个这个函数

  • explicit 解决隐士转换

    之二: 代理技术 例如 先把一个int 转换为一个类 然后这个类就不可以隐式转换为另一个类

  • 前置效率更高,因为没有创建临时变量,似乎后置的代码是以前置代码为基础的这样效率就差不多了
  • 不要重载 && 和 || 因为无法保证"骤死式" 最好也不要重载 ,号操作符号

转载于:https://www.cnblogs.com/eat-too-much/p/7053742.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这篇论文主要介绍了一种稀疏结构搜索的方法来有效地调整深度神经网络中的参数,以达到更好的性能和更高的效率。作者将该方法称为Pruning with Neuron Selectivity Ratio (PNSR)。该方法的主要思想是通过对神经元的选择性比率进行剪枝,来寻找最优的网络结构。 具体来说,PNSR方法首先训练一个初始的完整模型,然后通过计算每个神经元的选择性比率来确定哪些神经元可以被剪枝。选择性比率是指在训练过程中神经元被激活的次数与总共经历的迭代次数之比。这个比率越高,说明这个神经元在网络中的作用越大,越不应该被剪枝。根据选择性比率,可以将网络中的神经元分为三类:保留、可剪枝和不可剪枝。其中保留的神经元直接保留在模型中,不可剪枝的神经元则不能被剪枝,而可剪枝的神经元则可以被剪枝,并且剪枝后不会影响网络的性能。 接下来,PNSR方法使用一种叫做“剪枝重训练”的策略来进一步优化网络结构。这种策略的基本思想是先剪枝掉一些神经元,然后重新训练网络,使其在剪枝后的结构上取得最佳性能。具体来说,PNSR方法在剪枝后使用一种叫做“结构化剪枝”的方法来调整网络的结构,使得剪枝后的网络结构更加紧凑和简单。然后,PNSR方法使用该结构再次训练网络,直到网络达到最佳性能。 最后,作者在CIFAR-10和ImageNet数据集上对PNSR方法进行了实验。实验结果表明,PNSR方法可以显著减少模型的参数数量,同时保持网络性能不变或稍微下降。这表明,PNSR方法可以有效地提高深度神经网络的效率,并有望在实际应用中得到广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值