我正在使用TFRecordDataset迭代器作为输入来训练Keras模型。训练阶段运行良好,但是当我调用model.predict时,模型仍然使用训练数据作为输入而不是新的数据。
# Load data as tensorflow iterator on a TFRecordDataset
X, y = loader.load_training_tensor_iterator()
X_test, y_test = loader.load_test_tensor_iterator()
# Build the model
input_layer = Input(tensor=X)
reshap
我试图使用Tensorflow的Dataset API在Keras中构建模型。我成功地训练了克拉斯的模特。而是对测试数据进行预测。它需要在numpy数组中。
X需要是numpy数组。所以我做了这样的事
x = input_fn('test.tfrecords')
model = models.load_model("model/model-40-0.35.hdf5")
with tf.Session()) as sess:
x_out = np.asarray(sess.run(x))
pred = model.predict(x_o
我试着去完成如果...elif..elif..else...tensorflow中,但出现了一些错误。然后我尝试了tf.cond,但那是单人早午餐。 labels被定义为占位符,它是一个在训练时需要输入的张量。标签和newlogits的范围是0,27,但在计算精度时,我希望将标签和logits映射到0,3。 def tower_acc(logits, labels, batch_size):
newlogits=tf.argmax(logits,1)
resultlabels =[]
resultlogits =[]
for i i
我在写一个脚本,有时会泄露张量。这种情况可以在多种情况下发生,例如,当我训练一个神经网络时,但是训练会崩溃。在这种情况下,训练会中断,并且不会正确地处理张量。这会导致内存泄漏,我正试图通过释放未使用的张量来清除这个漏洞。
示例
在下面的片段中,我正在训练两个(非常简单)的模型。第一次运行将工作,并将导致没有泄漏的张量(训练前的张量=训练后的张量)。第二次,我使用无效的reshape层强制在训练期间崩溃。因此,抛出一个错误,数据集中的张量(我猜是?)不会得到正确的处理。该代码是一个示例,可以说明张量如何泄漏。
async function train(shouldCrash) {
con
我试图计算我的模型的损失相对于它的输入的梯度,以便创建一个对抗性的例子。由于模型的输入是不可训练的,所以我需要计算关于张量的梯度,而不是变量。但是,如果张量不是可训练变量,则TensorFlow的GradientTape返回None梯度:
import numpy as np
import tensorflow as tf
tf.enable_eager_execution()
a = tf.convert_to_tensor(np.array([1., 2., 3.]), dtype=tf.float32)
b = tf.constant([1., 2., 3.])
c = tf.Var
我已经训练了一个模型(通过Keras框架),用model.save('model.hdf5')导出了它,现在我想将它与超棒的Streamlit集成起来。显然,我不想每次最终用户插入新输入时加载模型,而是一次性加载它。所以我的代码看起来是这样的:
@st.cache
def load_my_model():
model = load_model('model.hdf5')
model.summary()
return model
if __name__ == '__main__':
st.title('M
首先是广泛的问题:
有可能用tensorflow构建条件图吗?
如果是,自动梯度计算和实现的优化器是否与它一起工作?
我是否可以访问张量的形状并将其转换为整数,以便使用"if“条件和"for i in range()”循环?
我的实际用例是,我想用变张量长度进行一维卷积。为此,我首先需要一个if语句,它只在长度大于1的情况下执行卷积。然后我有一个for循环,它通过卷积的张量。问题是这个代码:
for i in range(tf.shape(tensor)[0]):
因为范围运算符需要一个整数,所以无法工作。我能把这个转化成整数吗?
最后,我想用adagra
我训练了一个hair_recognition模型(.pb文件)。它可以很好地处理python代码。输入节点是'hair_recognition/ input _1‘,但是当我在android中使用该模型时,我得到的错误如下:
java.lang.IllegalArgumentException: No Operation named [hair_recognition/input_1]
我通过在Python中打印节点名来调试这些模型。但无法找出原因。对于是什么导致这种行为有任何建议吗?
码加载模型&取输入张量节点
Python :
with tf.gfile.GFile(pb
我训练了一个用于目标检测的tensorflow模型,输入作为占位符,维度为1,None,None,3,因为我的训练图像具有不同的大小。然后我将冻结的图(.pb文件)转换为tensorRT图,以便更快地推断,但tensorRT给了我一个警告,即输入张量具有未知的非批处理维度,因此节点将回落到TF。错误消息为: 2019-05-22 08:59:56.628216: W tensorflow/contrib/tensorrt/convert/convert_nodes.cc:3710] Validation failed for TensorRTInputPH_0 and input slot