丁云鹏 5 ماه پیش
والد
کامیت
3b47e21faa
1فایلهای تغییر یافته به همراه27 افزوده شده و 3 حذف شده
  1. 27 3
      recommend-model-produce/src/main/python/models/dssm/bq_reader_train_ps.py

+ 27 - 3
recommend-model-produce/src/main/python/models/dssm/bq_reader_train_ps.py

@@ -1,5 +1,6 @@
 from paddle.distributed.fleet.data_generator import MultiSlotDataGenerator
 import sys
+import inspect
 
 class DSSMReader(MultiSlotDataGenerator):
     def __init__(self):
@@ -47,14 +48,37 @@ class DSSMReader(MultiSlotDataGenerator):
             except Exception as e:
                 sys.stderr.write(f"Error in generate_sample: {str(e)}\n")
         return reader
+def get_caller_info():
+    # 获取当前的堆栈帧
+    frame = inspect.currentframe()
+    # 获取调用者的堆栈帧
+    caller_frame = frame.f_back
+    # 获取调用者的代码对象
+    caller_code = caller_frame.f_code
+    # 获取调用者的名称
+    caller_name = caller_code.co_name
+    # 获取调用者的文件名
+    caller_filename = caller_code.co_filename
+    # 获取调用者的行号
+    caller_line_no = caller_frame.f_lineno
+    # 获取调用者的函数参数
+    args, _, _, arg_names = inspect.getargvalues(caller_frame)
+
+    # 构建调用者信息字符串
+    caller_info = f"Called from {caller_name} in {caller_filename} at line {caller_line_no}"
+    for arg_name in arg_names:
+        caller_info += f", {arg_name}={args[arg_name]}"
+
+    return caller_info
 
 if __name__ == "__main__":
-    print("invoke DSSMReader")
+    sys.stdout.write("invoke DSSMReader")
+    sys.stdout.write(get_caller_info())
     reader = DSSMReader()
     reader.init()
     try:
-        print("invoke run_from_stdin start")
+        sys.stdout.write("invoke run_from_stdin start")
         reader.run_from_stdin()
-        print("invoke run_from_stdin end")
+        sys.stdout.write("invoke run_from_stdin end")
     except Exception as e:
         sys.stderr.write(f"Error in main: {str(e)}\n")