张量流。当我 运行 cifar10_train.py 时,CIFAR10 示例中的代码更改不会反映出来
TensorFlow. Changes in code in CIFAR10 example are not reflected when I run cifar10_train.py
例如,我想改变 distorted_inputs 中的扭曲。我注释掉了 运行dom 裁剪和 运行dom 翻转。这样做之后,我保存了文件,运行 cifar10_train.py。然后我 运行 TensorBoard,并在图像可视化器中查看图像。我意识到它们仍然被翻转和裁剪。这是 st运行ge,因为我已经编辑了代码,所以它不应该发生。有任何修复吗?
def distorted_inputs(data_dir, batch_size):
"""Construct distorted input for CIFAR training using the Reader ops.
Args:
data_dir: Path to the CIFAR-10 data directory.
batch_size: Number of images per batch.
Returns:
images: Images. 4D tensor of [batch_size, IMAGE_SIZE, IMAGE_SIZE, 3] size.
labels: Labels. 1D tensor of [batch_size] size.
"""
filenames = [os.path.join(data_dir, 'data_batch_%d.bin' % i)
for i in xrange(1, 6)]
for f in filenames:
if not gfile.Exists(f):
raise ValueError('Failed to find file: ' + f)
# Create a queue that produces the filenames to read.
filename_queue = tf.train.string_input_producer(filenames)
# Read examples from files in the filename queue.
read_input = read_cifar10(filename_queue)
reshaped_image = tf.cast(read_input.uint8image, tf.float32)
distorted_image = reshaped_image
height = IMAGE_SIZE
width = IMAGE_SIZE
# Image processing for training the network. Note the many random
# distortions applied to the image.
# Randomly crop a [height, width] section of the image.
# distorted_image = tf.image.random_crop(reshaped_image, [height, width])
# Randomly flip the image horizontally.
# distorted_image = tf.image.random_flip_left_right(distorted_image)
# Because these operations are not commutative, consider randomizing
# randomize the order their operation.
distorted_image = tf.image.random_brightness(distorted_image,
max_delta=63)
distorted_image = tf.image.random_contrast(distorted_image,
lower=0.2, upper=1.8)
# Subtract off the mean and divide by the variance of the pixels.
float_image = tf.image.per_image_whitening(distorted_image)
# Ensure that the random shuffling has good mixing properties.
min_fraction_of_examples_in_queue = 0.4
min_queue_examples = int(NUM_EXAMPLES_PER_EPOCH_FOR_TRAIN *
min_fraction_of_examples_in_queue)
print ('Filling queue with %d CIFAR images before starting to train. '
'This will take a few minutes.' % min_queue_examples)
# Generate a batch of images and labels by building up a queue of examples.
return _generate_image_and_label_batch(float_image, read_input.label,
min_queue_examples, batch_size)
我发现了问题。更改每个 .py 文件顶部的行,例如:
from tensorflow.models.image.cifar10 import cifar10
至
import cifar10
成功了。我不太确定它为什么起作用,但这可能是因为进行这样的导入会进入 python dist-packages。期待确切知道这是如何工作的人的回答!
例如,我想改变 distorted_inputs 中的扭曲。我注释掉了 运行dom 裁剪和 运行dom 翻转。这样做之后,我保存了文件,运行 cifar10_train.py。然后我 运行 TensorBoard,并在图像可视化器中查看图像。我意识到它们仍然被翻转和裁剪。这是 st运行ge,因为我已经编辑了代码,所以它不应该发生。有任何修复吗?
def distorted_inputs(data_dir, batch_size):
"""Construct distorted input for CIFAR training using the Reader ops.
Args:
data_dir: Path to the CIFAR-10 data directory.
batch_size: Number of images per batch.
Returns:
images: Images. 4D tensor of [batch_size, IMAGE_SIZE, IMAGE_SIZE, 3] size.
labels: Labels. 1D tensor of [batch_size] size.
"""
filenames = [os.path.join(data_dir, 'data_batch_%d.bin' % i)
for i in xrange(1, 6)]
for f in filenames:
if not gfile.Exists(f):
raise ValueError('Failed to find file: ' + f)
# Create a queue that produces the filenames to read.
filename_queue = tf.train.string_input_producer(filenames)
# Read examples from files in the filename queue.
read_input = read_cifar10(filename_queue)
reshaped_image = tf.cast(read_input.uint8image, tf.float32)
distorted_image = reshaped_image
height = IMAGE_SIZE
width = IMAGE_SIZE
# Image processing for training the network. Note the many random
# distortions applied to the image.
# Randomly crop a [height, width] section of the image.
# distorted_image = tf.image.random_crop(reshaped_image, [height, width])
# Randomly flip the image horizontally.
# distorted_image = tf.image.random_flip_left_right(distorted_image)
# Because these operations are not commutative, consider randomizing
# randomize the order their operation.
distorted_image = tf.image.random_brightness(distorted_image,
max_delta=63)
distorted_image = tf.image.random_contrast(distorted_image,
lower=0.2, upper=1.8)
# Subtract off the mean and divide by the variance of the pixels.
float_image = tf.image.per_image_whitening(distorted_image)
# Ensure that the random shuffling has good mixing properties.
min_fraction_of_examples_in_queue = 0.4
min_queue_examples = int(NUM_EXAMPLES_PER_EPOCH_FOR_TRAIN *
min_fraction_of_examples_in_queue)
print ('Filling queue with %d CIFAR images before starting to train. '
'This will take a few minutes.' % min_queue_examples)
# Generate a batch of images and labels by building up a queue of examples.
return _generate_image_and_label_batch(float_image, read_input.label,
min_queue_examples, batch_size)
我发现了问题。更改每个 .py 文件顶部的行,例如:
from tensorflow.models.image.cifar10 import cifar10
至
import cifar10
成功了。我不太确定它为什么起作用,但这可能是因为进行这样的导入会进入 python dist-packages。期待确切知道这是如何工作的人的回答!