我试图从文件名列表中建立一个tensorflow队列。列表已经完成,但似乎字符串输入生成器返回了一个空队列。可能还有其他原因导致代码无法正常工作。以下是代码:
sess = tf.InteractiveSession()
def read_my_file_format(filename_queue):
reader = tf.WholeFileReader()
key, value = reader.read(filename_queue)
images = tf.image.decode_jpeg(value, channels=3)
return images, key
def input_pipeline(filenames, batch_size, num_epochs, labels):
filename_queue = tf.train.string_input_producer(filenames, num_epochs=num_epochs, shuffle=False)
image, key = read_my_file_format(filename_queue)
return image, key
sess.run(tf.global_variables_initializer())
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess = sess, coord = coord, start=True)
input_pipeline(trainnames, batch_size, None, labels)
coord.request_stop()
coord.join(threads)
答案 0 :(得分:0)
如果您可以提供错误消息,则会有所帮助。
同时,以下是对您的代码的一些评论:
global name 'get_disciplines' is not defined
定义与您的队列关联的TensorFlow运算符,并将它们添加到图表中,以便在调用# model.py
class Discipline(models.Model):
id = models.CharField(max_length=15, primary_key=True)
name = models.CharField(max_length=100)
class Subject(models.Model):
id = models.CharField(max_length=15, primary_key=True)
name = models.CharField(max_length=100)
disciplines = models.ManyToManyField(Discipline)
class Excerpt(models.Model):
discipline = models.ManyToManyField(Discipline)
subjects = models.ManyToManyField(Subject)
# my idea
def get_disciplines(self):
e = self.discipline.first()
return e.id
# admin.py
class ExcerptTaggerAdmin(ImageCroppingMixin, admin.ModelAdmin):
filter_horizontal = ('subjects','discipline')
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "subjects":
kwargs["queryset"] = Subject.objects.filter(disciplines = get_discipline)
return super(ExcerptTaggerAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)
class ExcerptTagger(Excerpt):
class Meta:
proxy = True
之前调用它,如果您希望队列成为图形的一部分并且在如果您希望协调员启动您的队列,请致电input_pipeline
。sess.run(tf.global_variables_initializer())
运营商。以下是我要尝试的代码:
start_queue_runners