- 博客(14)
- 收藏
- 关注
原创 C++17 关键新特性介绍及代码讲解 (7) --- lambda capture of ‘*this‘ by value
一句话概括:在定义 lambda 的 captures 时,可以通过 这种形式,将当前 this 所指向的 object,以 value-copy 的方式拷贝下来,并在 lambda 的表达式中使用拷贝得到的 object 成员变量值。完整 demo 代码参见 gitee.com 上的公开代码仓库 :[lambda_capture_of_this_by_value]对于在一个 non-static 成员函数中声明的 lambda 表达式,如果需要访问当前 object 的成员变量,在 C++17 之前,
2022-06-15 22:03:08 541 1
原创 C++17 关键新特性介绍及代码讲解 (1) — 前言和目录
C++最早的版本可以追溯到 1998 年,即C++98; 从 C++11 开始,ISO C++ 委员会(也叫做 WG21 ),保持每三年一个 ISO 标准版本的发布频率:C++17,也就是 2017 年发布成为 ISO/IEC 14882:2017 标准的版本, 我们在这里将 C++17 的关键新特性,选取一些显著的、常用的内容,简要讲明这些特性是什么、有什么好处、要解决什么问题,同时配有 demo code 和 CMakeList,你可以直接 build 运行、修改源代码等,观察运行结果。所有示例源代码
2022-06-12 13:26:59 1522
原创 C++17 关键新特性介绍及代码讲解 (6) — fold expression
一句话概括:fold expression 是将 parameter pack 进行递归展开、并通过二元操作符 (binary operator) 进行运算的一种表达式。parameter pack 包括: template parameter pack、 function parameter pack, 以下面代码中的函数声明为例,为 template parameter pack, 为 function parameter pack:fold expression 的详细定义参见 [fold exp
2022-06-12 13:19:51 780
原创 C++17 关键新特性介绍及代码讲解 (5) — attributes for namespaces and enumerators
一句话概括:在定义 、时,允许指定 attributes。 这里的 attributes 指: 具体所使用的C++编译器所提供的语言扩展属性。gcc 提供的 attributes : 参见 [gcc Attribute Syntax]clang 提供的 attributes : 参见 [Clang 15.0.0git documentation ATTRIBUTES IN CLANG]在定义 时,我们可以单独为每个 enumerator 指定 attributes, 比如 :上面代码中, attribu
2022-06-12 13:19:27 997
原创 C++17 关键新特性介绍及代码讲解 (4) — nested namespace
一句话概括:在定义 namespace 时,允许通过添加 qualified name 的方式,一次定义多层的、嵌套式 namespace 。简化了嵌套 namespace 的定义方式,对于大型项目更加友好。举例如下:在C++17之前,需按照如下方式定义:...
2022-06-12 13:19:04 582
原创 C++17 关键新特性介绍及代码讲解 (3) — typename in a template template parameter
一句话概括:在声明 template template parameter 时,允许使用使用关键字 。首先,什么是 template template parameter ?举例如下,是常用的 type template parameter, 但 就是 template template parameter:即,本身是一个 template,同时作为 template 的 template parameter,那么这个 就是 的 template template parameter。从 cpp11 开
2022-06-12 13:18:39 299
原创 C++17 关键新特性介绍及代码讲解 (2) --- New auto rules for direct-list-initialization
一句话概括:对于使用 brace-list ( 即花括弧 ) 进行初始化的 变量,更新了 变量类型的推导规则,更新后的规则更加清晰。更新后的规则如下:direct-initialization 的情况:如果 里只有单个元素, 则 变量类型推导为该元素类型 , 如、等。如果 里有多个元素, 则为语法错误。完整 demo 代码参见 gitee.com 上的公开代码仓库 : [auto_bound_list_initialization]...
2022-06-12 13:17:46 261
原创 Physics Examination
physics examination1、下列数据中,符合实际的是 ( \quad )A、一枚大头针的质量约为8gB、一名中学生的质量约为5kgC、一个鸡蛋的质量约为5000mgD、一枚硬币的质量约为6g2、已知空气的密度为1.29kg/m3^33,一间普通教室内空气的质量与下列哪个物体最接近( \quad )A.一头牛B.一个苹果C.一名中学生D.一辆...
2019-04-07 15:45:45 572
原创 Deep Reinforcement learning - 2. 基于tensorflow的DDPG实现
TODDeep Reinforcemen learning - 2. 基于tensorflow的DDPG实现基于我上一篇博客的算法介绍, 使用tensorflow的代码实现,仿真环境使用gym torcs 为了快速训练出结果,我没有使用driver view图像作为输入,而是使用low dimension传感器数据作为输入, 总共29个数据,包括: - 赛车速度: speedX,
2017-12-12 15:46:19 22815 23
原创 Deep Reinforcement Learning - 1. DDPG原理和算法
Deep Reinforcement Learning - 1. DDPG原理和算法背景描述DDPG的定义和应用场景DDPG算法相关基本概念定义DDPG实现框架和算法DDPG对于DPG的关键改进下一篇以下用RL作为Reinforcement Learning 的简称。背景描述概括来说,RL要解决的问
2017-11-08 14:23:24 141524 51
原创 tensorflow 核心流程剖析 4-- 使用profiler检测神经网络模型的运行性能
tensorflow profiler 主要特性使用tensorflow profiler举例高级功能Advisortensorflow profiler 主要特性从r1.3版本开始, tensorflow 提供profiler模块,参见github上的官网文档为方便描述,下面将tf中运行的神经网络模型简称为graph,其中的节点称为node.profi
2017-08-22 08:33:11 13376 2
原创 Tensorflow 核心流程剖析 3-- 运行设备Device的生成和管理
1. 关键术语描述kernel在神经网络模型中,每个node都定义了自己需要完成的操作,比如要做卷积、矩阵相乘等。而实现这个操作的算法,我们单独抽象出来,叫做kernel。 可以将kernel看做是一段能够跑在具体硬件设备上的算法程序,所以即使同样的2D卷积算法,我们有基于gpu的Convolution 2D kernel实例、基于cpu的Convolution 2D kernel实例。devi
2017-08-11 15:30:50 1257
原创 tensorflow 核心流程剖析 1-- 简介
这个博文是什么和不是什么对于大部分使用者来说,tensorflow就像一个大黑盒,我们平时接触的只是一层python API的封装。 概括来说,python API只是负责搭建好要运行的神经网络模型,即静态模型。 通过python API能看、能改,但是不能运行。真正运行这个神经网络模型的,是其C++实现的部分,可以看做一个动态模型。 也是这部分,才让tensor真正的flow起来。不分析的:
2017-08-09 12:18:44 1525
原创 TensorFlow 核心流程剖析 -- 2 神经网络模型的构建、分割和优化
Graph的生成总体流程我们知道, 在tensorflow里,model是以compuatation graph的形式存在,作为训练和inference的载体。下面简称graph。 graph的生成,源自通过python API中对graph中nodes的定义。一般来讲,我们通过python API这样开始训练一个model:定义graph和其中的node创建session去Run这个grap
2017-08-07 11:09:27 5232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人