带你读《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技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(6)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(6)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(8)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(8)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(9)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(9)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(5)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(5)
|
搜索推荐 视频直播
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(4)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(4)
114 0
|
容器
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(2)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(2)
|
存储
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(10)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(10)
|
定位技术
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(7)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(7)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(3)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(3)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(1)
带你读《2022技术人的百宝黑皮书》——淘宝长辈模式技术实践万字总结(1)