一个打印和调试实用程序,它使错误打印输出看起来很好

tf-logger的Python项目详细描述


pip install tf_logger

用法

fromtf_loggerimportTF_Loggerlogger=TF_Logger(log_directory="/tmp/logs/tf_logger_test/")logger.log(index=3,note='this is a log entry!')logger.flush()# Imagesface=scipy.misc.face()face_bw=scipy.misc.face(gray=True)logger.log_image(index=4,color_image=face,black_white=face_bw)image_bw=np.zeros((64,64,1))image_bw_2=scipy.misc.face(gray=True)[::4,::4]# now print a stackforiinrange(10):logger.log_image(i,animation=[face]*5)
logging images using tf\_logger

使用tf_logger记录图像

I’m planning on writing a better ML dashboard in the future.

此版本的logger与tensorboard集成在 同时以表格格式将数据打印到stdout。-罐头 静音stdout每个键(每个logger.log调用)-可以打印 颜色:logger.log(timestep, some_key=green(some_data))-可以打印 使用自定义格式: logger.log(timestep, some_key=green(some_data, percent))其中 percent-使用正确的unix表字符(请停止 使用|+请改用``]`,` ` ``来代替

此记录器的典型打印输出如下所示:

fromtf_loggerimportTF_Loggerlogger=TF_Logger(log_directory=f"/mnt/bucket/deep_Q_learning/{datetime.now(%Y%m%d-%H%M%S.%f):}")logger.log_params(G=vars(G),RUN=vars(RUN),Reporting=vars(Reporting))

输出以下内容

example\_real\_log\_output

示例实际日志输出

多个实验的数据可以用tensorboard查看。

tensorboard\_example

Tensorboard_示例

═════════════════════════════════════════════════════
              G
───────────────────────────────┬─────────────────────
           env_name            │ MountainCar-v0
             seed              │ None
      stochastic_action        │ True
         conv_params           │ None
         value_params          │ (64,)
        use_layer_norm         │ True
         buffer_size           │ 50000
      replay_batch_size        │ 32
      prioritized_replay       │ True
            alpha              │ 0.6
          beta_start           │ 0.4
           beta_end            │ 1.0
    prioritized_replay_eps     │ 1e-06
      grad_norm_clipping       │ 10
           double_q            │ True
         use_dueling           │ False
     exploration_fraction      │ 0.1
          final_eps            │ 0.1
         n_timesteps           │ 100000
        learning_rate          │ 0.001
            gamma              │ 1.0
        learning_start         │ 1000
        learn_interval         │ 1
target_network_update_interval │ 500
═══════════════════════════════╧═════════════════════
             RUN
───────────────────────────────┬─────────────────────
        log_directory          │ /mnt/slab/krypton/machine_learning/ge_dqn/2017-11-20/162048.353909-MountainCar-v0-prioritized_replay(True)
          checkpoint           │ checkpoint.cp
           log_file            │ output.log
═══════════════════════════════╧═════════════════════
          Reporting
───────────────────────────────┬─────────────────────
     checkpoint_interval       │ 10000
        reward_average         │ 100
        print_interval         │ 10
═══════════════════════════════╧═════════════════════
╒════════════════════╤════════════════════╕
│      timestep      │        1999        │
├────────────────────┼────────────────────┤
│      episode       │         10         │
├────────────────────┼────────────────────┤
│    total reward    │       -200.0       │
├────────────────────┼────────────────────┤
│ total reward/mean  │       -200.0       │
├────────────────────┼────────────────────┤
│  total reward/max  │       -200.0       │
├────────────────────┼────────────────────┤
│time spent exploring│       82.0%        │
├────────────────────┼────────────────────┤
│    replay beta     │        0.41        │
╘════════════════════╧════════════════════╛
fromtf_loggerimportTF_Loggerlogger=TF_Logger('/mnt/slab/krypton/unitest')logger.log(0,some=Color(0.1,'yellow'))logger.log(1,some=Color(0.28571,'yellow',lambdav:f"{v * 100:.5f}%"))logger.log(2,some=Color(0.85,'yellow',percent))logger.log(3,{"some_var/smooth":10},some=Color(0.85,'yellow',percent))logger.log(4,some=Color(10,'yellow'))logger.log_histogram(4,td_error_weights=[0,1,2,3,4,2,3,4,5])

彩色输出:(其中值为黄色)

╒════════════════════╤════════════════════╕
│        some        │        0.1         │
╘════════════════════╧════════════════════╛
╒════════════════════╤════════════════════╕
│        some        │     28.57100%      │
╘════════════════════╧════════════════════╛
╒════════════════════╤════════════════════╕
│        some        │       85.0%        │
╘════════════════════╧════════════════════╛
╒════════════════════╤════════════════════╕
│  some var/smooth   │         10         │
├────────────────────┼────────────────────┤
│        some        │       85.0%        │
╘════════════════════╧════════════════════╛
logger-colored-output

记录器彩色输出

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
io如何从java中的远程FileInputStream中知道扩展名为的文件名   java spring引导不会为JSP返回404,除非编译tomcat maven依赖范围?   ArchUnit:如何避免对java类的依赖冲突   java Hibernate很多都不工作   java tomcat基于表单的身份验证数据源配置错误   java将随机对象声明为私有静态最终属性可以吗?   java Sobel筛选器无法正常工作   我想用java为hangman乘以一个字符串   当我试图运行部署在Tomcat中的任何项目时,ubuntu上的java Tomcat服务器将自动关闭   java更高效地读取按字母顺序排序的文本文件   java Android Studio“尚未附加片段”   在JavaServlet中使用从一种形式到另一种形式的数据的html   检测Java中打开的文件夹(JNativeHook)   jakarta ee Hibernate映射异常:实体映射中的重复列   httpSession在Java中使用什么方法进行会话管理   java如何将两个类的代码外包到一个新的类中,以便两个类都可以调用该方法