粒子图像和相关工具的点建议网络。

faster-particles的Python项目详细描述


更快的粒子:粒子图像和相关工具的像素建议网络(PPN)

简介

此软件包包括以下内容:

  • ToyData生成器
  • LARCV数据接口(二维和三维)
  • 基本网络:vgg(ish)和uresnet
  • 像素提议网络实现

内容

  1. Installation 1.1条。Dependencies 1.2条。Install
  2. Usage 2.1条。Dataset

许可证

此代码是在mit许可下发布的(有关更多详细信息,请参阅许可文件)。

安装

依赖性

必须安装larcv2及其 拥有依赖项(根、opencv、numpy)以便使用larcv数据接口。 安装larcv2

git clone https://github.com/DeepLearnPhysics/larcv2.git
cd larcv2
source configure.sh
make

你还需要Tensorflow

安装

最简单的方法是使用pip,尽管您不会得到最新的更改:

pip install faster-particles

或者,如果需要最新更新或 参与其开发:

git clone https://github.com/Temigo/faster-particles.git
cd faster-particles

用法

以下假设您安装了pip。如果克隆了源,请使 确保您在根目录中,并将ppn替换为python faster_particles/bin/ppn.py

数据集

toydata 要在以下部分中使用toydata而不是larcv数据,请使用选项--toydata这是一个已经有一段时间没有测试过的旧选项,应该很快就会被弃用。

液态氩数据文件 LARCV数据文件应使用支持正则表达式的--data选项指定,例如ppn_p[01]*.root。 有些数据文件在DeepLearnPhysics数据质询页上是公开的。

一般用法是ppn train/demo [directories options] [network architecture] [weights options] [network options] [other options]train用于训练网络,demo用于运行推理。

目录选项

程序输出分为:

  • 输出目录(选项-o):具有所有权重
  • 日志目录(选项-l):存储所有tensorflow日志(并用tensorboard可视化它们)
  • 显示目录(选项-d):存储在训练ppn1和ppn2建议期间拍摄的常规快照,与基本事实进行比较。 目录将被创建,如果它们还不存在。在训练时,所有这些都是必需的。在推断时,只需要显示目录。

网络架构和权重选项

培训
Network trainedCommand to runPretrained weights (optional)
Base network UResNet`--base-net uresnet --net base^{}
Base network VGG^{}^{}
PPN (w/ UResNet base)^{}^{}
Small UResNet^{}^{}

推断

使用命令ppn demo -d display/dir -m N_inferences,后跟:

NetworkCommandline optionsWeights loading
Base (UResNet)^{}^{}
PPN (w/ UResNet base)^{}^{}
Small UResNet^{}^{}
PPN + UResNet^{}^{}
PPN + Small UResNet^{}^{}

最常见的选项

OptionExplanation
^{}Number of steps / images to run on
^{}Freeze base network layers during training.
^{}Size of the image
^{}3D version
^{}Path to data files, can use wildcards and bash syntax.

更多选项(如阈值)分别通过ppn train -hppn demo -h提供。

示例

要在1000步上训练PPN,请使用:

ppn train -o output/dir/ -l log/dir/ -d display/dir --net ppn -m 1000 --data path/to/data

要在轨道/淋浴分类任务中培训基础网络(目前提供VGG和URESNET):

ppn train -o output/dir/ -l log/dir/ -d display/dir --net base --base-net vgg -m 1000

要训练3d数据,请使用参数-3d,不要忘记使用参数-N指定图像大小(例如,192表示压缩因子为4,请参阅larcvdata_generator.py了解更多详细信息)。

在冻结基础(预训练)层的同时,用uresnet基础网络预训练权重训练ppn, 更完整的命令行是

ppn train -o output/dir/ -l log/dir/ -d display/dir --net ppn --base-net uresnet -wb /path/to/uresnet/weights --freeze -N 512 -m 100

以0.5的最低分数对预测分数进行推断:

ppn demo weights_file.ckpt -d display/dir/ -ms 0.5

显示目录将包含结果的快照。

作者

K.Terao、J.W.Park、L.Domine

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

推荐PyPI第三方库


热门话题
java如何使用具有多个参数的dataclass toString?   java如何在Hibernate查询和会话中启用MySQL二进制运算符。得到()   JavaSpring存储库生成与属性命名约定   java如何计算浮点数中的字符总数   如何让NetBeans向我展示Java方法的正确文档?   使用JDBCJava字符串,在PHP中连接到mysql数据库   解析简单的ANTLR项目测试java类挂起   eclipse为新Java项目将Git指向何处   java按空格或按空格拆分字符串\n   关于objective c java字节移位的帮助   java如何从中获取地图。txt文件使用属性?   java如何将整数格式化为DD格式   java循环a jaxb   java导出和运行jar   java Spring框架无法使用EntityManager保存在数据库中。合并()   java错误[TRACE][rpctest]查找入口点类:使用GWT使用Hibernate将数据插入MySql   Java读取Windows密钥状态   java无法找到正确的表达式   使用BufferedReader处理double时的java NumberFormatException   java从csv文件读取unicode字符