10
10
import numpy as np
11
11
import tensorflow as tf
12
12
import tensorcircuit as tc
13
- from tensorcircuit import keras as K
14
13
15
14
16
15
dtype = np .complex128
@@ -55,13 +54,15 @@ def vqe_f2(inputs, xweights, zzweights, nlayers, n):
55
54
56
55
def test_vqe_layer2 (tfb , highp ):
57
56
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 )])
59
58
inputs = np .zeros ([1 ])
60
59
with tf .GradientTape () as tape :
61
60
e = vqe_layer (inputs )
62
61
print (e , tape .gradient (e , vqe_layer .variables ))
63
62
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
+ )
65
66
model .fit (np .zeros ([1 , 1 ]), np .zeros ([1 ]), batch_size = 1 , epochs = 300 )
66
67
67
68
@@ -87,12 +88,14 @@ def vqe_f(inputs, weights, nlayers, n):
87
88
88
89
def test_vqe_layer (tfb , highp ):
89
90
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 ))
91
92
inputs = np .zeros ([1 ])
92
93
inputs = tf .constant (inputs )
93
94
model = tf .keras .Sequential ([vqe_layer ])
94
95
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
+ )
96
99
97
100
model .fit (np .zeros ([2 , 1 ]), np .zeros ([2 , 1 ]), batch_size = 2 , epochs = 500 )
98
101
@@ -104,7 +107,7 @@ def test_function_io(tfb, tmp_path, highp):
104
107
105
108
vqe_f_p = tf .function (vqe_f_p )
106
109
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 )
109
112
print (loaded (weights = tf .ones ([6 , 6 ], dtype = tf .float64 ), nlayers = 3 , n = 6 ))
110
113
print (loaded (weights = tf .ones ([6 , 6 ], dtype = tf .float64 ), nlayers = 3 , n = 6 ))
0 commit comments