gpt4 book ai didi

tensorflow - Dask DataFrame - Keras 模型的预测

转载 作者:行者123 更新时间:2023-12-04 14:54:30 25 4
gpt4 key购买 nike

我第一次使用 dask 并尝试从训练有素的 keras 模型运行 predict()。

如果我不使用 dask,该函数工作正常(即 pd.DataFrame() 与 dd.DataFrame () )。使用 Dask,错误如下。这不是一个常见的用例吗(除了给 groupby 打分)

def calc_HR_ind_dsk(grp):
model=keras.models.load_model('/home/embedding_model.h5')
topk=10

x=[grp['user'].values,grp['item'].values]
pred_act=list(zip(model.predict(x)[:,0],grp['respond'].values))
top=sorted(pred_act, key=lambda x: -x[0])[0:topk]
hit=sum([x[1] for x in top])
return(hit)



import dask.dataframe as dd

#step 1 - read in data as a dask df. We could reference more than 1 files using '*' wildcard
df = dd.read_csv('/home/test_coded_final.csv',dtype='int64')
results=df.groupby('user').apply(calc_HR_ind_dsk).compute()

类型错误:无法将 feed_dict 键解释为张量:Tensor Tensor("Placeholder_30:0", shape=(55188, 32), dtype=float32) 不是此图的元素。

最佳答案

我找到了答案。这是 keras 或 tensorflow 的问题:https://github.com/keras-team/keras/issues/2397

下面的代码有效,并且使用 dask 比标准的 Pandas groupby 减少了 50% 的时间。

#dask
model=keras.models.load_model('/home/embedding_model.h5')

#this part
import tensorflow as tf
global graph
graph = tf.get_default_graph()


def calc_HR_ind_dsk(grp):
topk=10
x=[grp['user'].values,grp['item'].values]

with graph.as_default(): #and this part from https://github.com/keras-team/keras/issues/2397
pred_act=list(zip(model.predict(x)[:,0],grp['respond'].values))
top=sorted(pred_act, key=lambda x: -x[0])[0:topk]
hit=sum([x[1] for x in top])

return(hit)



import dask.dataframe as dd


df = dd.read_csv('/home/test_coded_final.csv',dtype='int64')
results=df.groupby('user').apply(calc_HR_ind_dsk).compute()

关于tensorflow - Dask DataFrame - Keras 模型的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49287934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com