我正在使用Tensorflow 2.3。
如果我使用普通的tf张量输入,则以下示例可以正常工作:
import tensorflow as tf
text_input = tf.keras.Input([None], dtype=tf.string, name="text_input", ragged=False)
predictions = tf.gather(text_input, 0, axis=-1)
model = tf.keras.Model(inputs=[text_input], outputs=[predictions])
model(tf.constant([['A1', 'A2', 'A3'], ['B1', 'B2', 'B3']]))
<tf.Tensor: shape=(2,), dtype=string, numpy=array([b'A1', b'B1'], dtype=object)>
但是,如果将输入更改为参差不齐的张量,则在尝试创建模型时会出错。
import tensorflow as tf
ragged_input = tf.keras.Input([None], dtype=tf.string, name="ragged_input", ragged=True)
padded_input = ragged_input.to_tensor('')
predictions = tf.gather(padded_input, 0, axis=-1)
model = tf.keras.Model(inputs=[ragged_input], outputs=[predictions])
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
<ipython-input-201-9adaf4aae2b5> in <module>()
3 padded_input = ragged_input.to_tensor('')
4 predictions = tf.gather(padded_input, 0, axis=-1)
----> 5 model = tf.keras.Model(inputs=[ragged_input], outputs=[predictions])
13 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
58 ctx.ensure_initialized()
59 tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
---> 60 inputs, attrs, num_outputs)
61 except core._NotOkStatusException as e:
62 if name is not None:
InvalidArgumentError: You must feed a value for placeholder tensor 'Placeholder_38' with dtype int64 and shape [?]
[[node Placeholder_38 (defined at <ipython-input-201-9adaf4aae2b5>:5) ]] [Op:__inference_keras_scratch_graph_136790]
Function call stack:
keras_scratch_graph
对我来说似乎是个错误,因为RaggedTensor
对Keras的支持不是最好的(请参见例如此处)。我不确定是什么原因造成的,但是占位符转换失败。
如果可以的话,最好先使用所有RaggedTensor
功能, 然后
再将其作为输入和设置传递ragged=False
。如果您只想使用它进行方便的填充,并且所有图形操作都基于无参差的张量(在您的示例中就是这种情况),那么这不是问题:
import tensorflow as tf
ragged_input = tf.keras.Input([None], dtype=tf.string, name="ragged_input", ragged=False)
# padded_input = ragged_input.to_tensor('')
predictions = tf.gather(ragged_input, 0, axis=-1)
model = tf.keras.Model(inputs=[ragged_input], outputs=[predictions])
padded_input = tf.ragged.constant([['A1', 'A2'], ['B1', 'B2', 'B3']]).to_tensor('')
result = model(padded_input)
print(result)
# >>> tf.Tensor([b'A1' b'B1'], shape=(2,), dtype=string)
问题内容: 我如何使用,以及在性能?的,如果我不使用工作正常。但是,如果我使用浮点数,那么它将不起作用。对我来说,在最后一个div中使用至关重要。 我正在尝试遵循,如果您从所有div中删除浮点数,那么它将正常工作: CSS: JSFiddle 问题答案: 您需要设置行高。
问题内容: 有人告诉我: 垂直对齐仅适用于内联,内联块,图像和表格元素。 与text-align不同,它必须应用于子元素,而不是应用于父元素。 但是,当我尝试在内联块元素上设置垂直对齐中间时,它不起作用。为什么? 问题答案: 这是行不通的,因为它vertical- align设置了行内内容相对于其行框而不是其包含块的对齐方式: 此属性影响由inline-level元素生成的框的线框内的垂直位置。
问题内容: from celery import Celery 这是我用来测试芹菜的代码。我希望每次使用addone()时,返回值都应该增加。但是为什么总是1? 结果 问题答案: 默认情况下,启动工作程序时,Celery以并发4启动它,这意味着它已启动4个进程来处理任务请求。(加上一个控制其他进程的进程。)我不知道该使用哪种算法将任务请求分配给为工作人员启动的进程,但是最终,如果执行足够,您将看到
我试图在一个测试中模拟。我在网上找到了一些人们也这么做的例子。 一个例子来自sping-data-elasticsearch,另一个来自一些教程。 这是我自己的例子。 不幸的是,我看到了一些警告。以下是我得到的: 网络客户。RequestHeaderUrispec是原始类型。对泛型类型WebClient的引用。RequestHeaderUrispec应该参数化 当我更改代码并向添加通配符时,我会收
问题内容: 我编写了量角器自动化测试并遇到了问题。Wait命令实际上并不等待数组元素之一。请参阅以下示例:导航到网页后,我尝试等待第一个元素。 但是测试失败,并显示以下错误:。 错误与定位器类型无关,因为它同时出现在:“ by.repeater”和“ by.css”上。选择器还可以,添加“ sleep”命令后测试通过: 另外,timeout参数也无济于事,它会忽略它并立即失败。 那么问题是如何等待
问题内容: 我试图分裂循环即 使用multiprocessing.Process,它对于较小的N值效果很好。当我使用较大的N值时,就会出现问题。在p.join()之前或期间发生了一些奇怪的事情,并且程序没有响应。如果我将print i放在函数f的定义中,而不是q.put(i),则一切正常。 我将不胜感激任何帮助。这是代码。 问题答案: 您正在尝试无限制地增加队列,并且您正在加入一个等待队列中有空间
铬:58.0.3029.81 量角器:5.1.1 WebDriver-Manager:12.0.4 Chrome驱动程序:2.29 节点:6.9.4
问题内容: 我一直在努力获取RESTful WCF服务,以接受JSON作为参数并返回一些JSON。 这是我的服务: 当我通过{AuthRequest:{TokenId =“ some guid”}}时,上述方法会将 数据 设置为null。 如果我将方法的BodyStyle设置为Bare,则 数据 设置正确,但是我必须从JSON中删除{AuthRequest}(我并不是很想这样做)。有什么方法可以使