我的团队想知道tensorflow中是否有任何方法可以对sparkDataframe中的原始数据执行模型推断,而不需要将所有数据刷新到执行器中。我们的具体用例是一个大型分布式表m=a x b上的模型推理,其中a=具有1m行和800个特征列的用户矩阵,b=具有500行的项目矩阵,x是交叉联接。
a和b最初都是sparkDataframe,由于内存和时间限制,我们想看看是否有任何tf本机方法可以避免将a表数据复制500次以进行交叉连接,只需查找表a和b中的适当列以用于推断?我们的集群不是很大,而且我们的应用程序执行时间也很有限。
我们目前在spark中进行交叉连接,并在mappartitions任务中应用tensorflow,该任务获取每个(交叉连接的)分区并将其转换为numpy,然后在普通numpy数组上执行tf推断。这是非常内存密集,因为它需要复制用户矩阵的每个条目500次。我知道tensorflowonspark或其他工具可能有解决方案,我想知道是否有人知道如何解决这个问题!
谢谢
暂无答案!
目前还没有任何答案,快来回答吧!