Facebook最新力作Pythia:模块化、即插即用,极大简化模型进展
注册表 受到Redux环球市肆的开导,Pythia生态体系所需的有效信息已在注册表中注册。可以将注册表视为框架的多个部门所需的信息的通用存储,并在必要该信息的任那里所起浸染信息源。 注册表还基于如上所述的独一密钥来注册模子、使命、数据集等。 注册表的函数可以用作必要注册的类的装饰器(譬喻模子等) 设置 按照研究必要,Pythia中的大大都参数/配置都是可设置的。 Pythia特定的默认值(training_parameters)存在于: pythia/common/defaults/configs/base.yml 个中具体的注释描写了每个参数的用法。为了便于行使和模块化,每个数据集的设置别离生涯在: pythia/common/defaults/configs/tasks/[task]/[dataset].yml 可以从Tasks中的表中获取数据集的[task]值和数据集部门。模子设置也是分隔的,而且是用户在建设本身的模子时必要界说的部门。 因为每个数据集的单独设置,这个观念可以扩展到执行多使命并在此包括多个数据集设置。 处理赏罚器 处理赏罚器的首要目标是使数据处理赏罚流程尽也许与差异数据集相似,并应承代码重用。 处理赏罚器接管带有与所需数据相对应key的字典,并返回带有处理赏罚数据的字典。这有助于通过修复所需的署名来使处理赏罚器独立于逻辑的别的部门。 处理赏罚器用于全部数据集以切换数据处理赏罚需求。在处理赏罚器文档中相识有关处理赏罚器的更多信息。 SampleList SampleList受到了maskrcnn-benchmark中BBoxList的开导,但更为通用。与Pythia集成的全部数据集都必要返回一个Sample,该Sample将被清算到SampleList中。 此刻,SampleList带有很多利便的成果,可以轻松地批量处理赏罚和会见事物。对付譬喻样本是带有一些key的字典。在SampleList中,这些key的值将按照它是张量照旧列表而被奇妙地分组,并分派回该字典。 因此,终端用户可以很好地将这些key组合在一路,并可以在他们的模子中行使它们。与Pythia集成的模子吸取SampleList作为参数,这再次使trainer对模子和数据集不再有任何影响。在其文档中相识有关Sample和SampleList的更多信息。 预实习模子在Pythia中行使预实习模子举办推理很轻易。从下表中选取一个预实习模子,并凭证步调举办推理或天生猜测让EvalAI评估。(留意,这部门内容必要先安装教程中先容的数据,教程链接在文末) ![]() 此刻,假设你到预培训模子model是link(从table中选择>右键单击>复制链接地点),响应的设置应该位于configs/[task]/[dataset]/[model].yml。譬喻,vqa2 train_and_val的设置文件应该是configs/vqa/vqa2/pythia_train_and_val.yml。此刻要运行EvalAI的揣度,请运行以下呼吁: ![]() 假如要在val长举办培训或评估,请响应地将run_type改为train或val。你还可以行使多个运行范例,譬喻举办实习、对val举办揣度、还可以将--run_type配置为train+val+inference举办揣度。 假如删除--evalai_inference论证,Pythia 将执行揣度并直接在数据集上提供功效。请留意,对付测试集,这是不能用的,由于我们没有它们的谜底/方针。因此,这对付在当地执行 val集的推理很有效。 假如删除--evalai_inference论证,Pythia 将执行揣度并直接在数据集上提供功效。请留意,对付测试集,这是不能用的,由于我们没有它们的谜底/方针。因此,这对付在当地执行 val集的推理很有效。 下表表现了各类预培训模子的评估指标: ![]() Demo演示 ![]() 相干资源: Github: https://github.com/facebookresearch/pythia Demo: https://colab.research.google.com/drive/1Z9fsh10rFtgWe4uy8nvU4mQmqdokdIRR 教程: https://learnpythia.readthedocs.io
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |