- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 解决联邦学习异构性的方法(1)
为客户端和服务器设置了控制变量ci和c,在FedAvg的基础上增加了一个修正项c-ci,其可以理解为全局模型相对于本地模型的client-drift值,修正模型向真正的最优解移动。数据异构性的对联邦学习的影响是局部模型进行过多的更新可能会导致全局模型不收敛。其中 ,w是理想中训练了全部数据集的全局模型,但联邦学习不可能使用所有数据集,所以只能用局部模型参数θi +对替代全局模型参数wi +。在局部训练阶段引入轻量级修改,其中每个客户端使用一个辅助的局部漂移变量来跟踪局部模型参数和全局模型参数之间的差距。
2023-08-05 00:16:17 1862 1
原创 spark查询的执行过程
然后我们将这个逻辑计划强制转换为Optimizer.OptimizedLogicalPlan类型,它是一个中间类型,包含了一些额外的信息,例如输入输出的Schema(即数据结构)、是否需要执行Codegen(即生成代码优化)等。这个计划包含了SQL查询语句的逻辑结构和一些优化信息,例如可以使用的索引、以及查询执行的方式等等。函数的返回结果是一个物理计划 SparkPlan。这个物理计划是在逻辑计划的基础上生成的,它包括了具体的执行细节,例如如何进行数据读取、如何进行数据分区,如何进行数据的过滤和排序等等。
2023-06-03 16:37:42 163
原创 spark-sql-dataset(3)
join()这段代码实现了一个 DataFrame 的 join 操作,该方法接收三个参数:right: 需要右连接的 DataFrame。usingColumns: 使用的连接列名数组。joinType: join 类型,可以是 “inner”(默认), “outer”, “left_outer”, “right_outer”, “leftsemi”。该方法内部将会调用 Spark SQL 引擎的执行计划器(sessionState)来解析执行计划,并返回一个新的 DataFrame 对象。
2023-06-03 05:32:27 120
原创 spark-sql-dataet(2)
例如,如果过滤函数的类型是 FilterFunction[T],那么就会生成一个字面量对象,它的类型是 FilterFunction[T],并将过滤函数对象作为值传递给该字面量对象。它接受一个新的逻辑计划节点,返回一个新的 Filter 节点,其中的子节点被替换为传入的新节点。类型化指的是过滤函数的类型。withNewChildInternal 方法是 LogicalPlan trait 中定义的方法之一,用于创建一个新的逻辑计划节点,该节点与当前节点相同,但其子节点被替换为一个新的子节点。
2023-06-03 04:06:56 87
原创 spark-sql-dataset源码解析(1)
qe表示查询的执行计划,用assertAnalyzed()验证逻辑计划是否已经被分析和优化,然后根据执行计划的元数据(schema),构建一个 RowEncoder 对象,并将其作为参数传入 Dataset 的构造函数中,创建一个新的 Dataset[Row] 对象,并返回。在 doExecute() 方法中,会先通过调用 child.execute() 方法获取输入数据集,然后将输入数据集按照投影列表指定的列进行投影,并返回投影后的数据集作为输出。最后,添加页脚信息,提示是否还有更多的数据。
2023-06-02 23:16:15 477 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人