带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(4)

简介: 带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(4)

带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(3) https://developer.aliyun.com/article/1246919?groupCode=taobaotech



全连接网络优化


背景


全连接网络是深度模型中非常常见的一种结构,其基本形式就是矩阵乘法Matmul、矩阵加法BiasAdd及激活函数LeakyRelu。在TensorFlow 1.x中,全连接网络的实现使用的是keras.layers.Dense类。其中当inputs的rank大于2时,调用的是standard_ops.tensordot接口。


@tf_export('keras.layers.Dense')
class Dense(Layer):
 ……
 def call(self, inputs):
 inputs = ops.convert_to_tensor(inputs, dtype=self.dtype)
 rank = common_shapes.rank(inputs)
 if rank > 2:
 # Broadcasting is required for the inputs.
 outputs = standard_ops.tensordot(inputs, self.kernel, [[rank - 1], [0]])
 ……


通过tensordot代码可以看出,其生成的tf图是非常复杂的,而且还包含了Gather这样与Cuda Graph不兼容的算子。这不仅会增加全连接网络的调用成本,还会使得Cuda Graph对全连接网络的优化十分受限。我们使用Netron对TensorFlow的原生全连接网络进行了可视化,可以很明显地看出,全连接网络的结构十分的复杂。


image.png



带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5) https://developer.aliyun.com/article/1246917?groupCode=taobaotech

相关文章
|
缓存 并行计算 算法
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(6)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(6)
|
缓存 TensorFlow 算法框架/工具
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(2)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(2)
|
缓存 异构计算
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(3)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(3)
|
并行计算 算法 异构计算
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5)
|
机器学习/深度学习 算法 TensorFlow
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
|
数据挖掘
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(4)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(4)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(8)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(8)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(7)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(7)
118 0
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(1)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(1)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(5)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(5)