zoukankan      html  css  js  c++  java
  • .yaml文件的读取

    .yaml文件通常用老保存一些参数的配置,那如何去读取它呢

    首先看看.yaml文件长什么样

    GPUS: (0,1,2,3)
    LOG_DIR: 'log/'
    DATA_DIR: ''
    OUTPUT_DIR: 'output/'
    WORKERS: 4
    PRINT_FREQ: 1000
    
    MODEL: 
      NAME: cls_hrnet
      IMAGE_SIZE: 
        - 224
        - 224
      EXTRA:
        STAGE1:
          NUM_MODULES: 1
          NUM_RANCHES: 1
          BLOCK: BOTTLENECK
          NUM_BLOCKS:
          - 4
          NUM_CHANNELS:
          - 64
          FUSE_METHOD: SUM
        STAGE2:
          NUM_MODULES: 1
          NUM_BRANCHES: 2
          BLOCK: BASIC
          NUM_BLOCKS:
          - 4
          - 4
          NUM_CHANNELS:
          - 18
          - 36
          FUSE_METHOD: SUM

    这是样例。yaml文件在书写的时候要注意的是,1.不能使用tab键来进行缩进,只能使用空格键进行缩进。2.同一层级的数据只要对齐就可以了,至于几个空格不重要。

    下面来进行读取,读取的话使用的是load函数。代码如下

    import yaml
    yaml_dir='dir.yaml'
    f1=open(yaml_dir)
    config_params=yaml.load(f1,Loader=yaml.FullLoader)
    print(config_params['MODEL'])

    其中dir是你的文件路径,load函数用于加载,其实原来的load函数不需要第二个参数,但是昨天做的时候出现了一个异常,去查了一下说是不安全所以补上了第二个参数,第二个参数有很多个可以选取的值,https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation,链接在这里可以自行查看。读取的结果是字典,长这样

    "MODEL"
    {
      "NAME": "cls_hrnet",
      "IMAGE_SIZE": [
        224,
        224
      ],
      "EXTRA": {
        "STAGE1": {
          "NUM_MODULES": 1,
          "NUM_RANCHES": 1,
          "BLOCK": "BOTTLENECK",
          "NUM_BLOCKS": [
            4
          ],
          "NUM_CHANNELS": [
            64
          ],
          "FUSE_METHOD": "SUM"
        },
        "STAGE2": {
          "NUM_MODULES": 1,
          "NUM_BRANCHES": 2,
          "BLOCK": "BASIC",
          "NUM_BLOCKS": [
            4,
            4
          ],
          "NUM_CHANNELS": [
            18,
            36
          ],
          "FUSE_METHOD": "SUM"
        },

    昨天看到的记录一下以免忘记。

  • 相关阅读:
    docker安装&镜像加速
    CentOS安装python3
    Elasticsearch相关下载地址
    fiddler抓包手机和小程序
    locust简单入门演示(一)——任务等待机制
    win10下载openssl
    XGBoost参数调优完全指南(转)
    HIVE学习
    windows定期清理指定目录文件(保留指定天数日志)
    RedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件
  • 原文地址:https://www.cnblogs.com/daremosiranaihana/p/13180364.html
Copyright © 2011-2022 走看看