我正在编译这个程序并且工作正常,但我有一些我没有得到的混淆,
到目前为止,我的代码是:
import matplotlib.image as mi
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]="3"
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
image="dd.jpg"
read=mi.imread(image)
print(read.shape)
plac=tf.placeholder("uint8",[None,None,3])
slice=tf.slice(read,[500,2000,0],[2000,1,0])
with tf.Session() as tff:
use1=tff.run(slice,feed_dict={plac:read})
print(use1.shape)
plt.imshow(use1)
plt.show()
所以我怀疑是:
中实际为
[None, None,3]
的内容
plac=tf.placeholder("uint8",[None,None,3]
我正确学习了然后,None,None = row,col
placeholder("unit8",[row,col,3]
我理解它的无限大小的矩阵
但这里的3是什么?
第二个问题是,如果我使用[2000,-1,-1]然后它的工作,但如果我使用[2000,1,0]然后它不工作所以我不明白为什么我必须使用{{1 }
编辑:我试过这个answer [-1,-1]
,但它无效
答案 0 :(得分:1)
从你的代码看,3是图像中的通道数(每个RGB通道一个)。关于您的第二个问题,请检查read
是否tf.slice
的输入符合here提到的要求(链接也解释了-1)。