Я использую tf.estimator.Estimator для обучения моей модели. Теперь я хотел бы попробовать предварительно обученный inception_v3 вместо моей текущей модели.
Я наткнулся на этот репозиторий, в котором, похоже, есть все модели, которые мне могут понадобиться: https://github.com/tensorflow/models/tree/master/research/slim
Загрузка графика и обучение, кажется, работает просто отлично. Теперь он также хотел бы использовать предварительно обученные веса, которые я скачал отсюда: http://download.tensorflow.org/models/inception_v3_2016_08_28.tar.gz
Я пробовал несколько вариантов, которые я нашел в Интернете, но пока что ничего не работает. В большинстве случаев я получаю следующую ошибку:
Tensor name "model/InceptionV3/AuxLogits/Conv2d_1b_1x1/BatchNorm/beta" not found in checkpoint files
Вот как я сейчас строю график:
sys.path.insert(0, "./models/research/slim")
from nets import nets_factory
# ...
params.network_name = "inception_v3",
params.pre_logits = "PreLogits",
params.checkpoint = "inception_v3.ckpt"
# ...
network_fn = nets_factory.get_network_fn(params.network_name,
num_classes=(1001),
weight_decay=0.00004,
is_training=is_training)
logits, end_points = network_fn(images)
pre_logits = end_points[params.pre_logits]
pre_logits = tf.layers.flatten(inputs=pre_logits)
# ...
loss = ...
train_op = optimizer.minimize(loss, global_step=global_step)
model_fn = tf.estimator.EstimatorSpec(mode, loss=loss, train_op=train_op)
estimator = tf.estimator.Estimator(model_fn,
params=params,
config=config)
# ...
Я пробовал версии tenorflow v.1.6.0 и v.1.8.0. Кажется, у обоих одинаковые проблемы.
Есть идеи?
Большое спасибо!