Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tf.estimator高级API与tf.slim网络定义的兼容性_Python_Tensorflow_Tensorflow Estimator_Tf Slim - Fatal编程技术网

Python tf.estimator高级API与tf.slim网络定义的兼容性

Python tf.estimator高级API与tf.slim网络定义的兼容性,python,tensorflow,tensorflow-estimator,tf-slim,Python,Tensorflow,Tensorflow Estimator,Tf Slim,我使用tf.slim和tf.estimator的高级API。问题在于未遵守allow growth参数,即使用了整个GPU内存 以下是代码的浓缩版本(仅适用于相关部分): 使用tf.estimator是否与训练tf.slim定义的网络完全兼容,或者我是否必须使用tf.slim的高级API from lib.nasnet.nasnet import build_nasnet_mobile def model_fn(features, labels, mode, params): ...

我使用tf.slim和tf.estimator的高级API。问题在于未遵守allow growth参数,即使用了整个GPU内存

以下是代码的浓缩版本(仅适用于相关部分):

使用tf.estimator是否与训练tf.slim定义的网络完全兼容,或者我是否必须使用tf.slim的高级API

from lib.nasnet.nasnet import build_nasnet_mobile

def model_fn(features, labels, mode, params):
    ...
    # build model (based on tf.slim)
    net_out, cells_out = build_nasnet_mobile(
        features, 2, is_training=mode == tf.estimator.ModeKeys.TRAIN)

    predictions = ...
    if mode == tf.estimator.ModeKeys.PREDICT:
        return tf.estimator.EstimatorSpec(mode=mode,
                                          predictions=predictions)

    loss = ...

    optimizer = tf.train.AdamOptimizer()
    update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
    with tf.control_dependencies(update_ops):
        train_op = optimizer.minimize(loss, global_step=tf.train.get_global_step())

    return tf.estimator.EstimatorSpec(loss=loss,
                                      train_op=train_op,
                                      mode=mode)


def main():
    ...
    session_config = tf.ConfigProto()
    session_config.gpu_options.allow_growth = True
    session_config.allow_soft_placement = True

    config = tf.estimator.RunConfig(session_config=session_config)
    estimator = tf.estimator.Estimator(model_fn=model_fn,
                                       model_dir=model_dir,
                                       config=config)