我有一个包含8列的txt文件,我为我的特征提取选择了1列,它给出了13个特征值,输出数组的形状将是[1x13]。 同样,我在一个文件夹中有5个txt文件,我想运行一个循环,以便返回的变量将有5x13数据。
def loadinfofromfile(directory,sd,channel):
# subdir selection and read file names in it for particular crack type.
subdir, filenames = loadfilenamesindirectory(directory,sd)
for i in range(5):
# join the directory sub directory and the filename
loadfile = os.path.join(directory,subdir,filenames[i])
# load the values of that paticular file into tensor
fileinfo = tf.constant(np.loadtxt(loadfile),tf.float32)
# select the particular column data ( choosen from crack type, channel no)
fileinfo_trans = tf.transpose(fileinfo)
fileinfo_back = tf.gather(fileinfo_trans,channel)
# extracting features from selected column data gives [1x13]
pool = features.pooldata(fileinfo_back)
poolfinal = tf.concat_v2([tf.expand_dims(pool,0)],axis=0)
return poolfinal
在上面的函数中,我能够[1x13]得到变量'pool',我期望变量poolfinal的大小为[5x13],但我把它作为[1x13]。 如何在垂直方向上连续? 我在循环中做了什么错误?
答案 0 :(得分:0)
每个循环从sctratch创建pool和poolfinal。这就是为什么你只看到poolfinal中的一个数据的原因。 请尝试以下方法:
pools = []
for ...:
pools.append(...)
poolfinal = tf.concat_v2(pools, axis=0)