2016-03-31 2 views
1

Я пытаюсь изменить serving tutorial для работы с моей моделью, которая в основном является примером CIFAR, модифицированным для работы с CSV-файлом и JPEG. Я не могу найти документацию для класса Exporter, но вот что я до сих пор. Это в функции поезда() в файле cifar10_train.py:Exporter classic_signature

# Save the model checkpoint periodically. 
    if step % 10 == 0 or (step + 1) == FLAGS.max_steps: 
    checkpoint_path = os.path.join(FLAGS.train_dir, 'model.ckpt') 
    saver.save(sess, checkpoint_path, global_step=step) 

    export_dir = FLAGS.export_dir 
    print 'Exporting trained model to ' + FLAGS.export_dir 
    export_saver = tf.train.Saver(sharded=True) 
    model_exporter = exporter.Exporter(export_saver) 
    # 
    # TODO: where to find x and y? 
    # 
    signature = exporter.classification_signature(input_tensor=x, scores_tensor=y) 
    model_exporter.init(sess.graph.as_graph_def(), 
         default_graph_signature=signature) 
    model_exporter.export(export_dir, tf.constant(FLAGS.export_version), sess) 

Вот код, я использую для обучения модели:

labels = numpy.fromfile(os.path.join(data_dir, 'labels.txt'), dtype=numpy.int32, count=-1, sep='\n') 

    filenames_and_labels = [] 

    start_image_number = 1 
    end_image_number = 8200 

    for i in xrange(start_image_number, end_image_number): 
    file_name = os.path.join(data_dir, 'image%d.jpg' % i) 
    label = labels[i - 1] 
    filenames_and_labels.append(file_name + "," + str(label)) 


    print('Reading filenames for ' + str(len(filenames_and_labels)) + ' files (from ' + str(start_image_number) + ' to ' + str(end_image_number) + ')') 

    for filename_and_label in filenames_and_labels: 
    array = filename_and_label.split(",") 
    f = array[0] 
    # print(array) 
    if not tf.gfile.Exists(f): 
     raise ValueError('Failed to find file: ' + f) 

    # Create a queue that produces the filenames to read. 
    filename_and_label_queue = tf.train.string_input_producer(filenames_and_labels) 

    filename_and_label_tensor = filename_and_label_queue.dequeue() 
    filename, label = tf.decode_csv(filename_and_label_tensor, [[""], [""]], ",") 
    file_contents = tf.read_file(filename) 
    image = tf.image.decode_jpeg(file_contents) 

Любые идеи, как я могу установить вверх Exporter правильно?

ответ

0

Пожалуйста, взгляните на MNIST export example.

Это показывает, как x и y генерируются, а затем помещаются в подпись.

Кроме того, Inception example показывает, как расширить существующую модель для создания экспорта и обслуживания. В частности, вызов cifar10.inference выглядит аналогично inception_model.inference.

Смежные вопросы