在这种情况下,我有一个张量,其第一个维度与批处理大小相对应,例如:
tensor = tf.placeholder(tf.float32, shape=[None, 256, 256,3],name="placeholder_input")
现在我有一个张量函数"myfunc",作用于一个大小为256, 256,3的张量,我想要应用与批次数一样多次的张量,以得到大小为None,256,256,3的输出。如果形状不是动态的,我会简单地这样做:
output_tensor = tf.stack([myfunc(tensor [k,:,:,:] for k in ra
问题
我从二进制数据库读取数据,其中一部分是图像掩码和图像本身内的坐标(x,y)。当我知道图像的形状和坐标时,面具本身就很容易创建。基本上,我只需要创建一个空的掩码,图像所定义的形状,读取,并设置像素为一个在给定的坐标。所以我基本上想要的是这样的东西:
import tensorflow as tf
import numpy as np
# coord read from binary file
x = tf.constant([1])
y = tf.constant([1])
# shape is taken from another image read from binary fil
我定义了一个简单的conv2d函数来计算输入和内核(都是2D张量)之间的相互关系,如下所示:
import torch
def conv2D(X, K):
h = K.shape[0]
w = K.shape[1]
ĥ = X.shape[0] - h + 1
ŵ = X.shape[1] - w + 1
Y = torch.zeros((ĥ, ŵ))
for i in range (ĥ):
for j in range (ŵ):
Y[i, j] = (X[i: i+h, j: j+w]*K).sum
我已经将一系列图像读取到一个形状为(7338, 225, 1024, 3)的numpy数组中,其中7338是样本大小,225是时间步长,1024 (32x32)是3通道(RGB)中的扁平图像像素。
我有一个带有LSTM层的顺序模型:
model = Sequential()
model.add(LSTM(128, input_shape=(225, 1024, 3))
但这会导致错误:
Input 0 is incompatible with layer lstm_1: expected ndim=3, found ndim=4
提到LSTM层的输入张量应该是3D tensor with sh