zoukankan      html  css  js  c++  java
  • 『源码阅读』Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning

    https://github.com/cshizhe/hgr_v2t

    输入解压后的数据集路径,程序会在数据集文件夹中的result文件夹中建立RET.released/mtmatch/根据配置生成的文件夹名,在其中存储训练配置以及中间输出:

    python configs/prepare_mlmatch_configs.py $datadir

    主要是下面五个文件:
    log  model  model.json  path.json  pred
    其中path.json存储了相关路径,特别是预先提取的特征路径
    {'output_dir': '~/workspace_zm/HGR_T2V/MSRVTT/results/RET.released/mlmatch/vis.resnet152.pth.txt.bigru.16role.gcn.1L.attn.1024.loss.bi.af.embed.4.glove.init',
    'attn_ft_files': {'trn': ['~/workspace_zm/HGR_T2V/MSRVTT/ordered_feature/SA/resnet152.pth/trn_ft.hdf5'],
    'val': ['~/workspace_zm/HGR_T2V/MSRVTT/ordered_feature/SA/resnet152.pth/val_ft.hdf5'],
    'tst': ['~/workspace_zm/HGR_T2V/MSRVTT/ordered_feature/SA/resnet152.pth/tst_ft.hdf5']},
    'name_file': {'trn': '~/workspace_zm/HGR_T2V/MSRVTT/public_split/trn_names.npy',
    'val': '~/workspace_zm/HGR_T2V/MSRVTT/public_split/val_names.npy',
    'tst': '~/workspace_zm/HGR_T2V/MSRVTT/public_split/tst_names.npy'},
    'word2int_file': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/word2int.json',
    'int2word_file': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/int2word.npy',
    'ref_caption_file': {'trn': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/ref_captions.json',
    'val': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/ref_captions.json',
    'tst': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/ref_captions.json'},
    'ref_graph_file': {'trn': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/sent2rolegraph.augment.json',
    'val': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/sent2rolegraph.augment.json',
    'tst': '~/workspace_zm/HGR_T2V/MSRVTT/annotation/RET/sent2rolegraph.augment.json'}}
    而model.json则存储了模型参数:

    {'subcfgs': {'video_encoder': {'freeze': False,
    'lr_mult': 1.0,
    'opt_alg': 'Adam',
    'weight_decay': 0,
    'dim_fts': [2048],
    'dim_embed': 1024,
    'dropout': 0.2,
    'num_levels': 3,
    'share_enc': False},
    'text_encoder': {'freeze': False,
    'lr_mult': 1.0,
    'opt_alg': 'Adam',
    'weight_decay': 0,
    'num_words': 10510,
    'dim_word': 300,
    'fix_word_embed': False,
    'rnn_type': 'gru',
    'bidirectional': True,
    'rnn_hidden_size': 1024,
    'num_layers': 1,
    'dropout': 0.2,
    'num_roles': 16,
    'gcn_num_layers': 1,
    'gcn_attention': True,
    'gcn_dropout': 0.5}},
    'trn_batch_size': 64,
    'tst_batch_size': 300,
    'num_epoch': 50,
    'val_per_epoch': True,
    'save_per_epoch': True,
    'val_iter': -1,
    'save_iter': -1,
    'monitor_iter': 1000,
    'summary_iter': 1000,
    'base_lr': 0.0001,
    'decay_schema': None,
    'decay_boundarys': [],
    'decay_rate': 1,
    'max_frames_in_video': 20,
    'max_words_in_sent': 30,
    'margin': 0.2,
    'max_violation': True,
    'hard_topk': 1,
    'loss_direction': 'bi',
    'num_verbs': 4,
    'num_nouns': 6,
    'attn_fusion': 'embed',
    'simattn_sigma': 4,
    'loss_weights': None}

    然后运行训练脚本:
    python multilevel_match.py 
     $resdir/model.json 
     $resdir/path.json 
     --load_video_first 
     --is_train 
     --resume_file  ~/workspace_zm/HGR_T2V/MSRVTT/results/RET.released/mlmatch/vis.resnet152.pth.txt.bigru.16role.gcn.1L.attn.1024.loss.bi.af.embed.4.glove.init/../../../RET/word_embeds.glove32b.th
     
  • 相关阅读:
    BC高精确度函数使用。
    thinkPHP中_initialize方法实例分析
    MySQL中concat函数
    使用docker打造spark集群
    zhihu spark集群,书籍,论文
    Windows下安装使用curl命令
    数据可视化的优秀入门书籍有哪些,D3.js 学习资源汇总
    2015互联网+影响力报告发布
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    centos linux中怎么查看和修改计算机名/etc/sysconfig/network
  • 原文地址:https://www.cnblogs.com/hellcat/p/13754744.html
Copyright © 2011-2022 走看看