| 
					
				 | 
			
			
				@@ -42,25 +42,34 @@ def main(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 根据 config 创建 predictor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     predictor = paddle_infer.create_predictor(config) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 获取输入的名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     input_names = predictor.get_input_names() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     input_handle = predictor.get_input_handle(input_names[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    output_names = predictor.get_output_names() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    output_handle = predictor.get_output_handle(output_names[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 设置输入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    fake_input = np.abs(np.random.randn(1, 157).astype("float32")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    input_handle.reshape([1, 157]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    input_handle.copy_from_cpu(fake_input) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 运行predictor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    predictor.run() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ret, out = hdfs_client._run_cmd("text /dw/recommend/model/56_dssm_i2i_itempredData/20241206/part-00016.gz") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    input_data = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for line in out: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sample_values = line.rstrip('\n').split('\t') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vid, left_features_str = sample_values 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        left_features = [float(x) for x in left_features_str.split(',')] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        input_data[vid] = left_features 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取输出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    output_names = predictor.get_output_names() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    output_handle = predictor.get_output_handle(output_names[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    output_data = output_handle.copy_to_cpu() # numpy.ndarray类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    print("Output data size is {}".format(output_data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    print("Output data shape is {}".format(fake_input)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    input_data2 = {k: input_data[k] for k in list(input_data)[:5]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 设置输入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for k,v in input_data2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        input_handle.copy_from_cpu(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 运行predictor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        predictor.run() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 获取输出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output_data = output_handle.copy_to_cpu() # numpy.ndarray类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        print("input k:{} v:{}".format(k, fake_input)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        print("Output {}".format(output_data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if __name__ == "__main__": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     main() 
			 |