首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >量子神经网络在tensorflow量子中的输入

量子神经网络在tensorflow量子中的输入
EN

Stack Overflow用户
提问于 2020-09-09 13:12:35
回答 1查看 103关注 0票数 0

我用tensorflow量子建立了一个量子神经网络,它的输入是由circuit.About转换的张量--这个输入电路,我发现如果电路的参数也是由张量指定的,那么量子神经网络就不能训练。

电路在使用正常参数时可以使网络正常运行

代码语言:javascript
复制
theta_g=1
blob_size = abs(1 - 4) / 5
spread_x = np.random.uniform(-blob_size, blob_size)
spread_y = np.random.uniform(-blob_size, blob_size)
angle = theta_g + spread_y
cir=cirq.Circuit(cirq.ry(-angle)(qubit), cirq.rx(-spread_x)(qubit))
discriminator_network(tfq.convert_to_tensor([cir]))

,但当我使用以下代码时,量子神经网络无法训练

代码语言:javascript
复制
theta_g=tf.constant([1])
blob_size = abs(1 - 4) / 5
spread_x = np.random.uniform(-blob_size, blob_size)
spread_y = np.random.uniform(-blob_size, blob_size)
spred_x = tf.constant(spread_x)
spred_y = tf.constant(spread_y)
angle = theta_g + spread_y
cir=cirq.Circuit(cirq.ry(-angle)(qubit), cirq.rx(-spread_x)(qubit))
discriminator_network(tfq.convert_to_tensor([cir]))

** disciminator_network**

代码语言:javascript
复制
def discriminator():
    theta = sympy.Symbol('theta')
    q_model = cirq.Circuit(cirq.ry(theta)(qubit))
    q_data_input = tf.keras.Input(
        shape=(), dtype=tf.dtypes.string)
    expectation = tfq.layers.PQC(q_model, cirq.Z(qubit))
    expectation_output = expectation(q_data_input)

    classifier = tf.keras.layers.Dense(1, activation=tf.keras.activations.sigmoid)
    classifier_output = classifier(expectation_output)
    model = tf.keras.Model(inputs=q_data_input, outputs=classifier_output)
    return model
EN

回答 1

Stack Overflow用户

发布于 2020-09-25 20:26:01

没有能够看到所得到的错误的跟踪,我会说,我认为在第二个片段中遇到的问题是您已经将tf.constant对象放置到cirq.Circuit的占位符中。您的第一个示例之所以有效,是因为cirq.Circuits知道如何从np.float32数据类型中解释值。Cirq不知道如何从tf.float32 (或任何tf.dtype.*)中解释值。

TensorFlow量子接口tensorflow数据类型与cirq.Circuit对象的入口点是通过解析tfq本机操作中电路中的sympy.Symbol值(您在创建tfq.layers.PQC时所做的)。

这能帮你弄清楚吗?

-Michael

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63812476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档