Tesorflow:导出模型处理时间

时间:2019-04-24 15:05:10

标签: python tensorflow time

是否可以导出 时间以处理 Tensorflow模型

我想将其包含在具有for循环的脚本中,该循环测试不同的模型设置,以优化特定模型的准确性。知道/限制处理时间将非常有用(这样我就可以让它在夜间运行,并排除在以后的测试中花费太多处理时间的值)。
我已经可以使用TensorBoard手动了,但是当我想测试50种以上不同型号的模型时,这会变得有些困难……将其包括在script,并使其自动
感谢您的帮助!

#The model uses tf.keras.models.Sequential

#Examples of variables
dense_layers =  [3, 4, 5]
layer_size =    [32, 64, 128]

for d in dense_layers:
    for s in layer_size:
        #Run model and get results to append on a list

PS:很抱歉,如果在其他地方进行解释或重复,但Tensorflow的网页几乎不适合初学者,当我在此处搜索主题时,我仅发现有人抱怨他们的脚本迭代缓慢。

1 个答案:

答案 0 :(得分:1)

如果您真的只想从花费太长时间进行训练的结果中排除配置,则可以使用python中的time模块轻松地计时训练过程。然后仅在花费少于给定阈值时间的情况下保存配置。

import time
#The model uses tf.keras.models.Sequential

#Examples of variables
dense_layers =  [3, 4, 5]
layer_size =    [32, 64, 128]

time_threshold = 60*60*0.5 # upper time limit in seconds (example 30 mins)
successful_configurations = []

for d in dense_layers:
    for s in layer_size:
        tic = time.time()
        #Run model and get results to append on a list
        toc = time.time()
        execution_time = toc-tic

        if execution_time<time_threshold:
            config = {'accuracy': test_accuracy, 
                      'run_time': execution_time, 
                      'dense_layers': d,
                      'layer_size': s}

            successful_configurations.append(cofig)

如果时间足够短,您可以在config词典中包含任何模型设置,这些模型设置应解释在里面。这里包含了test_accuracy,您需要在#Run model and get results to append on a list步骤中返回它。

无需导出任何内容。