1

私は自分のモデルで動作するようにサービング チュートリアルを変更しようとしています。これは基本的に、CSV ファイルと JPEG で動作するように変更された CIFAR の例です。Exporter クラスのドキュメントが見つからないようですが、これまでのところ、ここにあります。cifar10_train.py ファイルの train() 関数にあります。

  # 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 を正しく設定する方法はありますか?

4

1 に答える 1

0

MNIST エクスポートの例をご覧ください。

これは、x と y がどのように生成され、署名に配置されるかを示しています。

また、インセプションの例では、既存のモデルを拡張してエクスポートとサービスを作成する方法を示しています。特に、cifar10.inference呼び出しは に似ていinception_model.inferenceます。

于 2016-05-04T19:12:22.247 に答える