1.scipy.misc.imresize函数重建图像
scipy.misc.imresize(arr, size, interp='bilinear', mode=None)
Parameters:
arr : ndarray
size : int, float or tuple
interp : str, optional
mode : str, optional
| |
Returns: | imresize : ndarray
|
2.元组的加
前提:content_image.shape=1066×800×3
IN: shape = (1,) + content_image.shape
OUT: (1, 1066, 800, 3)
3.numpy.dstack(tup)
>>> a = np.array((1,2,3)) >>> b = np.array((2,3,4)) >>> np.dstack((a,b)) array([[[1, 2], [2, 3], [3, 4]]])
>>> a = np.array([[1],[2],[3]]) >>> b = np.array([[2],[3],[4]]) >>> np.dstack((a,b)) array([[[1, 2]], [[2, 3]], [[3, 4]]])
4.TensorFlow程序读取数据
共有3种方法:
- 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据。
- 从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据。
- 预加载数据: 在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况)。
4.1 供给数据
TensorFlow的数据供给机制允许你在TensorFlow运算图中将数据注入到任一张量中。因此,python运算可以把数据直接设置到TensorFlow图中。
通过给run()或者eval()函数输入feed_dict
参数, 可以启动运算过程。
with tf.Session():
input = tf.placeholder(tf.float32)
classifier = ...
print classifier.eval(feed_dict={input: my_python_preprocessing_fn()})
设计placeholder
节点的唯一的意图就是为了提供数据供给(feeding)的方法。placeholder
节点被声明的时候是未初始化的, 也不包含数据, 如果没有为它供给数据, 则TensorFlow运算的时候会产生错误, 所以千万不要忘了为placeholder
提供数据。
5.for...in....
eg1:
for letter in 'Python':
print '当前字母 :', letter
输出结果:
当前字母 : P 当前字母 : y 当前字母 : t 当前字母 : h 当前字母 : o 当前字母 : n
eg2:
fruits = ['banana', 'apple', 'mango']
for fruit in fruits:
print '当前字母 :', fruit
输出结果:
当前字母 : banana 当前字母 : apple 当前字母 : mango
通过序列索引迭代,
另外一种执行循环的遍历方式是通过索引
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '当前水果 :', fruits[index]
for i in range(len(style_images)):
style_scale = STYLE_SCALE
if options.style_scales is not None:
style_scale = options.style_scales[i]
style_images[i] = scipy.misc.imresize(style_images[i], style_scale *
target_shape[1] / style_images[i].shape[1])