53 Matching Annotations
  1. Mar 2018
  2. May 2017
    1. If you succeeded in not throwing exceptions from your overloads, then make sure to advertise that fact using the new noexcept keyword.

      好的习惯

    1. Base(rhs) // wrong: rhs is an lvalue

      这里要记住,很容易犯错,关键还是理解 it has a name rule

  3. Apr 2017
    1. Almost all exciting results based on recurrent neural networks are achieved with them.

      lstm是rnn的一种,但是一般所RNN指传统标准的RNN

  4. Mar 2017
    1. the area under the curve (often referred to as simply the AUC) is equal to the probability that a classifier will rank a randomly chosen positive instance higher than a randomly chosen negative one (assuming 'positive' ranks higher than 'negative')

      AUC能够在CTR应用中有指导意义的原因

    1. Consequently, our advice is simple: continue to train your networks on a single machine, until the training time becomes prohibitive.

      一定要对 数据加载时间、参数通信时间、计算时间有个明确的评估,不能为了并行而并行。能单机解决的问题就不着急上多机。

    2. odel parallelism can work well in practice, data parallelism is arguably the preferred approach for distributed systems and has been the focus of more research

      why ?

    1. If you would like TensorFlow to automatically choose an existing and supported device to run the operations in case the specified one doesn't exist, you can set allow_soft_placement to True in the configuration option when creating the session.

      为了保证op按照自己的要求分配,必须设置为False

  5. Jan 2017
    1. Notice the getter doesn't care about the type of the input in the json file, but only rely on the ability to convert the string to the type you are asking.

      json文件读取时要注意这点,json中数据类型并不重要

  6. Dec 2016
    1. always use a named smart pointer variable to hold the result of new

      使用shared_ptr的第一原则

    2. Because the implementation uses reference counting, cycles of shared_ptr instances will not be reclaimed.

      链表就有可能出现循环引用的问题

    1. os::TransportHints are used to specify hints about how you want the transport layer to behave for this topic. For example, if you wanted to specify an "unreliable" connection (and not allow a "reliable" connection as a fall back):

      可以指定采用UDP连接

    2. transport_hints The transport hints allow you to specify hints to roscpp's transport layer. This lets you specify things like preferring a UDP transport, using tcp nodelay, etc. This is explained in more detail later.

      对于TCP、UDP的控制通过subscriber实现

    3. there is an implicit contract between you and roscpp: you may not modify the message you've sent after you send it, since that pointer will be passed directly to any intraprocess subscribers. If you want to send another message, you must allocate a new one and send that.

      使用nodelet和进程内sub/pub时要非常小心,消息每次pub之前最好new一个

    1. RAII-style

      对象构建时创建资源,区别于MFC那种显示调用init

    1. Separating out callbacks into different queues can be useful for a number of reasons. Some examples include: Long-running services. Assigning a service its own callback queue that gets serviced in a separate thread means that service is guaranteed not to block other callbacks. Threading specific computationally expensive callbacks. Similar to the long-running service case, this allows you to thread specific callbacks while keeping the simplicity of single-threaded callbacks for the rest your application.

      不论是service还是callback,计算时间过长,并且出现非比较复杂的节点通信关系时就要考虑该问题。

  7. Nov 2016
    1. roslaunch creates a new .launch file that contains the nodes you wish to launch on the remote machine. It then sshes into the remote machine and launches a roslaunch child process with that new .launch file.

      roslaunch远程调用的实现原理

  8. Oct 2016
    1. Counting number of lines

      可以用来统计代码行

    2. -print0

      find -print0 经常和 xargs -0 配合使用,处理文件名中换行符这种特殊情况

    1. ADD Vd.4S, Vn.4S, Vm.4S

      和之前32bit neon对比,将操作类型和个数放到了操作数部分,不再通过指令区分

  9. Sep 2016
    1. computes the gradients with respect to the parameters and to the inputs

      compute two gradients

    2. 1000 x 1024.

      input总是在后面

  10. Aug 2016
    1. return reinterpret_cast<T *>(& const_cast<char&>(reinterpret_cast<const volatile char &>(v)))

      核心思想是转化为char, 然后取地址

  11. Jun 2016
  12. May 2016
    1. As such, scrum adopts an empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly, to respond to emerging requirements and to adapt to evolving technologies and changes in market conditions.

      算法开发工作就有这种特点

  13. Apr 2016
    1. With a high gain, the filter places more weight on the measurements, and thus follows them more closely. With a low gain, the filter follows the model predictions more closely, smoothing out noise but decreasing the responsivenes

      这里需要调参数

    1. @echo My HOME path has $(words $(CURRENT_PATH)) directories.

      可以用这种方式打印输出一些内容

    2. The problem is that the space before the.oargument ispart of the replacement text and was inserted into the output string. The spacebefore the.cis fine because all whitespace before the first argument is strippedoff bymake.

      一定要注意space的问题

  14. Mar 2016
    1. The latencies shown assume the memory access hits in the Level 1 Data Cache

      命中L1 cache的情况下latency还有4,所以一定要把load都统一放前面一点儿。

    2. (mnemoni

      翻译:帮助记忆的

    1. 6 - (3 × 5) = -10

      saturation这个地方需要注意

    2. Vectorizing examples

      很有用的方法论,如何向量化code

    3. VFP unit is therefore sometimes referred to as the Floating Point Unit (FPU)

      gcc那个mfpu选项就是这个含义了

    4. The ARMv6 architecture introduced a small set of SIMD instructions that operate on multiple 16-bit or 8-bit values packed into standard 32-bit ARM general-purpose register

      除了在neon的寄存器,还可以直接在arm的寄存器上进行SIMD

    1. The 64-bit ARM Cortex-A cores as well as the 32-bit ARM Cortex-A32 implement the ARMv8-A profile of the ARMv8 architecture

      目前只有这几个处理器实现了v8架构

    1. The operator ## concatenates two arguments leaving no blank spaces between them:

      这两个用法很牛