使用 Trains 跟踪单独的 train/test 个流程
Tracking separate train/test processes with Trains
在我的设置中,我 运行 一个脚本 训练 模型并开始生成检查点。另一个脚本监视新的检查点并评估它们。脚本 运行 并行,因此评估仅落后于训练一步。
支持这种情况的正确 Tracks 配置是什么?
免责声明:我是 allegro.ai Trains 团队的一员
你有两个实验吗?一个用于测试 一个用于训练 ?
如果你有两个实验,那么我会确保模型都记录在它们中(如果它们存储在同一个 shared-folder/s3/etc 将是自动的)
然后就可以快速的看到每个人的表现了。
另一种选择是共享相同的实验,然后第二个过程将报告添加到原始实验,这意味着您必须以某种方式将实验 ID 传递给它。
然后你可以这样做:
task = Task.get_task(task_id='training_task_id`)
task.get_logger().report_scalar('title', 'loss', value=0.4, iteration=1)
编辑:
这两个进程总是一起启动,还是检查点测试是一般 purpose 代码?
编辑 2:
假设您有主脚本来训练模型。这个实验有一个唯一的任务 ID:
my_uid = Task.current_task().id
我们还假设您有办法将它传递给您的第二个进程(如果这是一个实际的子进程,它会继承 os 环境变量,因此您可以 os.environ['MY_TASK_ID']=my_uid
)
然后在评估脚本中,您可以像这样直接向主要训练任务报告:
train_task = Task.get_task(task_id=os.environ['MY_TASK_ID'])
train_task.get_logger().report_scalar('title', 'loss', value=0.4, iteration=1)
@MichaelLitvin,
我们遇到了同样的问题,而且我们在训练和测试中记录的所有内容也有相同的名称,因为它们来自相同的代码(很明显)。
为了避免 train/test 火车情节混乱,我们修改了 tensorflow_bind.py 为“火车”和“验证”流添加了不同的前缀。
Trains 的错误修正是添加了一个 logdir 名称(这对我们来说不是很清楚)。
*这是 1-2 年前完成的,所以现在可能是多余的
干杯,
大干
在我的设置中,我 运行 一个脚本 训练 模型并开始生成检查点。另一个脚本监视新的检查点并评估它们。脚本 运行 并行,因此评估仅落后于训练一步。
支持这种情况的正确 Tracks 配置是什么?
免责声明:我是 allegro.ai Trains 团队的一员
你有两个实验吗?一个用于测试 一个用于训练 ?
如果你有两个实验,那么我会确保模型都记录在它们中(如果它们存储在同一个 shared-folder/s3/etc 将是自动的) 然后就可以快速的看到每个人的表现了。
另一种选择是共享相同的实验,然后第二个过程将报告添加到原始实验,这意味着您必须以某种方式将实验 ID 传递给它。 然后你可以这样做:
task = Task.get_task(task_id='training_task_id`)
task.get_logger().report_scalar('title', 'loss', value=0.4, iteration=1)
编辑: 这两个进程总是一起启动,还是检查点测试是一般 purpose 代码?
编辑 2:
假设您有主脚本来训练模型。这个实验有一个唯一的任务 ID:
my_uid = Task.current_task().id
我们还假设您有办法将它传递给您的第二个进程(如果这是一个实际的子进程,它会继承 os 环境变量,因此您可以 os.environ['MY_TASK_ID']=my_uid
)
然后在评估脚本中,您可以像这样直接向主要训练任务报告:
train_task = Task.get_task(task_id=os.environ['MY_TASK_ID'])
train_task.get_logger().report_scalar('title', 'loss', value=0.4, iteration=1)
@MichaelLitvin, 我们遇到了同样的问题,而且我们在训练和测试中记录的所有内容也有相同的名称,因为它们来自相同的代码(很明显)。 为了避免 train/test 火车情节混乱,我们修改了 tensorflow_bind.py 为“火车”和“验证”流添加了不同的前缀。 Trains 的错误修正是添加了一个 logdir 名称(这对我们来说不是很清楚)。
*这是 1-2 年前完成的,所以现在可能是多余的
干杯, 大干