deepfm代码参考

https://github.com/lambdaji/tf_repos/blob/master/deep_ctr/Model_pipeline/DeepFM.py

import shutil
import os
import json
#import glob
from datetime import date, timedelta
import time
import random
import tensorflow as tf
import ast
import numpy as np
import pandas as pd
from tensorflow.python.estimator.inputs import numpy_io
import re

line='0.0 f101001:520;f102001:5026,5048,5073;f106001:10034;f108001:15364;f110001:20001;f201001:25248;f301001:30339;f306001:35002;f501001:40001;f502001:45001;f502002:50001;f503001:55025;f505001:60006;f601002:65004;f602002:70004;f603002:75002;f604002:80002;f605002:85002;f606002:90002;f607001:95001;f608001:100001;f609001:105002;f610001:110001;f611001:115004;f808001:120158,120255,120126,120457,120015,120469,120153,120473,120093;f809001:125027,125015,125034;f810001:130022,130039,130021;f808002:135305,135223,135024,135101,135315,135172,135200,135113,135322;f809002:140030,140047,140028;f810002:145025,145023,145042;f9916:150036,150272,150112,150146,150054,150322;f9917:155035,155338,155052,155134,155180,155349;f9918:160024,160176,160032,160070,160089,160182'

sess = tf.Session()

columns = tf.string_split([line], ' ')
labels = tf.string_to_number(columns.values[0], out_type=tf.float32)
splits = tf.string_split(columns.values[1:], ';')

# print splits
# for i in range(0,tf.size(splits).):
# print(sess.run(splits.read(i)))

sess.run(splits)
print sess.run(tf.size(splits))
print sess.run(tf.shape(splits))

id_vals = tf.reshape(splits.values,splits.dense_shape)
print sess.run(id_vals)
s1=tf.string_split([id_vals[0][1]],',')
s2=s1.values[0]

print sess.run(s1)
print sess.run(s2)

# a1=id_vals[0][1]
# a2=sess.run(id_vals[0][1])
# print a2


feat_ids, feat_vals = tf.split(id_vals,num_or_size_splits=2,axis=1)

猜你喜欢

转载自www.cnblogs.com/zhangbojiangfeng/p/10899684.html