import base64 import tensorflow as tf import requests import time with open('/Users/edz/software/Recommend/train_samples.csv', 'r') as f: count = 0 examples = [] for line in f: # print(line) splits = line.split('|') features = { 'ITEM_CATEGORY_card_id': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[0].encode()])), 'USER_CATEGORY_device_id': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[2].encode()])), 'USER_CATEGORY_os': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[3].encode()])), 'USER_CATEGORY_user_city_id': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[4].encode()])), 'USER_MULTI_CATEGORY_second_solutions': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[6].split(','))))), 'USER_MULTI_CATEGORY_second_demands': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[7].split(','))))), 'USER_MULTI_CATEGORY_second_positions': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[8].split(','))))), 'USER_MULTI_CATEGORY_projects': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[9].split(','))))), 'ITEM_NUMERIC_click_count_sum': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[10])])), 'ITEM_NUMERIC_click_count_avg': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[11])])), 'ITEM_NUMERIC_click_count_stddev': tf.train.Feature( float_list=tf.train.FloatList(value=[float(splits[12])])), 'ITEM_NUMERIC_exp_count_sum': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[13])])), 'ITEM_NUMERIC_exp_count_avg': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[14])])), 'ITEM_NUMERIC_exp_count_stddev': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[15])])), 'ITEM_NUMERIC_discount': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[16])])), 'ITEM_NUMERIC_case_count': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[17])])), 'ITEM_NUMERIC_sales_count': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[18])])), 'ITEM_CATEGORY_service_type': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[19].encode()])), 'ITEM_CATEGORY_merchant_id': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[20].encode()])), 'ITEM_CATEGORY_doctor_type': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[21].encode()])), 'ITEM_CATEGORY_doctor_id': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[22].encode()])), 'ITEM_CATEGORY_doctor_famous': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[23].encode()])), 'ITEM_CATEGORY_hospital_id': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[24].encode()])), 'ITEM_CATEGORY_hospital_city_tag_id': tf.train.Feature( bytes_list=tf.train.BytesList(value=[splits[25].encode()])), 'ITEM_CATEGORY_hospital_type': tf.train.Feature(bytes_list=tf.train.BytesList(value=[splits[26].encode()])), 'ITEM_CATEGORY_hospital_is_high_quality': tf.train.Feature( bytes_list=tf.train.BytesList(value=[splits[27].encode()])), 'ITEM_MULTI_CATEGORY_second_demands': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[28].split(','))))), 'ITEM_MULTI_CATEGORY_second_solutions': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[29].split(','))))), 'ITEM_MULTI_CATEGORY_second_positions': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[30].split(','))))), 'ITEM_MULTI_CATEGORY_projects': tf.train.Feature( bytes_list=tf.train.BytesList(value=list(map(lambda s: s.encode(), splits[31].split(','))))), 'ITEM_NUMERIC_sku_price': tf.train.Feature(float_list=tf.train.FloatList(value=[float(splits[32])])), 'label': tf.train.Feature(int64_list=tf.train.Int64List(value=[int(splits[5])])), } # print(features) # print(splits[32]) tf_features = tf.train.Features(feature=features) tf_example = tf.train.Example(features=tf_features) tf_serialized = tf_example.SerializeToString() examples.append({'b64': base64.b64encode(tf_serialized)}) count += 1 if count == 1000: break start = time.time() res = requests.post("http://localhost:8501/v1/models/wide_deep:predict", json={"inputs": {"examples": examples}, "signature_name": "predict"}) print(res.text) print(time.time() - start)