如何使用TFSlim库训练模型?

问题描述 投票:0回答:1

我正在阅读Object Detection API源代码,我想知道如何使用TFSlim来训练模型?

更具体地说,当我们使用Tensorflow训练模型时,我们使用这样的东西:

parameters = model(X_train, Y_train, X_test, Y_test)
# Returns: parameters -- parameters learnt by the model. 
# They can then be used to predict.

为了预测结果,我们使用类似的东西:

y_image_prediction = predict(my_image, parameters)

但在文件trainer.py中,我们没有上面的内容,我们只得到:

slim.learning.train(
    train_tensor,
    logdir=train_dir,
    master=master,
    is_chief=is_chief,
    session_config=session_config,
    startup_delay_steps=train_config.startup_delay_steps,
    init_fn=init_fn,
    summary_op=summary_op,
    number_of_steps=(
        train_config.num_steps if train_config.num_steps else None),
    save_summaries_secs=120,
    sync_optimizer=sync_optimizer,
    saver=saver)

关于这个slim.learning.train函数没有回报。所以我想知道slim.learning.train函数的使用是什么,我们如何获得参数 - 可以用来预测结果?

HERE是trainer.py的源代码。

python tensorflow machine-learning deep-learning computer-vision
1个回答
0
投票

train函数不返回值,因为它修改了模型的实际参数。该函数通过运行train_tensor来执行此操作,该命令是:“执行时将执行渐变并返回损失值的Tensor。”正如function documentation所写。

当你告诉优化器优化某些成本函数时,文档会讨论你得到的内容。在以下示例中是opt_op

opt = GradientDescentOptimizer(learning_rate=0.1)
opt_op = opt.minimize(cost)

optimizer documentation中查找更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.