1010import numpy as np
1111import tensorflow as tf
1212import tensorcircuit as tc
13- from tensorcircuit import keras as K
1413
1514
1615dtype = np .complex128
@@ -55,13 +54,15 @@ def vqe_f2(inputs, xweights, zzweights, nlayers, n):
5554
5655def test_vqe_layer2 (tfb , highp ):
5756 vqe_fp = partial (vqe_f2 , nlayers = 3 , n = 6 )
58- vqe_layer = K . QuantumLayer (vqe_fp , [(3 , 6 ), (3 , 6 )])
57+ vqe_layer = tc . KerasLayer (vqe_fp , [(3 , 6 ), (3 , 6 )])
5958 inputs = np .zeros ([1 ])
6059 with tf .GradientTape () as tape :
6160 e = vqe_layer (inputs )
6261 print (e , tape .gradient (e , vqe_layer .variables ))
6362 model = tf .keras .Sequential ([vqe_layer ])
64- model .compile (loss = K .output_asis_loss , optimizer = tf .keras .optimizers .Adam (0.01 ))
63+ model .compile (
64+ loss = tc .keras .output_asis_loss , optimizer = tf .keras .optimizers .Adam (0.01 )
65+ )
6566 model .fit (np .zeros ([1 , 1 ]), np .zeros ([1 ]), batch_size = 1 , epochs = 300 )
6667
6768
@@ -87,12 +88,14 @@ def vqe_f(inputs, weights, nlayers, n):
8788
8889def test_vqe_layer (tfb , highp ):
8990 vqe_fp = partial (vqe_f , nlayers = 6 , n = 6 )
90- vqe_layer = K .QuantumLayer (vqe_fp , (6 * 2 , 6 ))
91+ vqe_layer = tc . keras .QuantumLayer (vqe_fp , (6 * 2 , 6 ))
9192 inputs = np .zeros ([1 ])
9293 inputs = tf .constant (inputs )
9394 model = tf .keras .Sequential ([vqe_layer ])
9495
95- model .compile (loss = K .output_asis_loss , optimizer = tf .keras .optimizers .Adam (0.01 ))
96+ model .compile (
97+ loss = tc .keras .output_asis_loss , optimizer = tf .keras .optimizers .Adam (0.01 )
98+ )
9699
97100 model .fit (np .zeros ([2 , 1 ]), np .zeros ([2 , 1 ]), batch_size = 2 , epochs = 500 )
98101
@@ -104,7 +107,7 @@ def test_function_io(tfb, tmp_path, highp):
104107
105108 vqe_f_p = tf .function (vqe_f_p )
106109 vqe_f_p (weights = tf .ones ([6 , 6 ], dtype = tf .float64 ), nlayers = 3 , n = 6 )
107- K .save_func (vqe_f_p , str (tmp_path ))
108- loaded = K .load_func (str (tmp_path ), fallback = vqe_f_p )
110+ tc . keras .save_func (vqe_f_p , str (tmp_path ))
111+ loaded = tc . keras .load_func (str (tmp_path ), fallback = vqe_f_p )
109112 print (loaded (weights = tf .ones ([6 , 6 ], dtype = tf .float64 ), nlayers = 3 , n = 6 ))
110113 print (loaded (weights = tf .ones ([6 , 6 ], dtype = tf .float64 ), nlayers = 3 , n = 6 ))
0 commit comments