Я получаю следующее предупреждение:
ПРЕДУПРЕЖДЕНИЕ: tenorflow: из C: \ Users \ hadas \ Anaconda3 \ lib \ site-packages \ tenorsflow \ python \ framework \ op_def_library.py: 263:colocate_with (fromensorflow.python.framework.ops) устарела и будет удалена в следующей версии. Инструкции по обновлению: Колокейсы обрабатываются автоматически россыпью.
Вот мой код, можете ли вы сказать мне, что я должен изменить? Спасибо!
class Autoencoder:
def __init__(self, D, d):
self.X = tf.placeholder(tf.float32, shape=(None, D))
# Input to hidden (D -> d)
self.W1 = tf.Variable(tf.random_normal(shape=(D,d)))
self.b1 = tf.Variable(np.zeros(d).astype(np.float32))
# Hidden -> output (d -> D)
self.W2 = tf.Variable(tf.random_normal(shape=(d,D)))
self.b2 = tf.Variable(np.zeros(D).astype(np.float32))
# Output
self.Z = tf.nn.relu(tf.add(tf.matmul(self.X, self.W1), self.b1))
logits = tf.add(tf.matmul(self.Z, self.W2), self.b2)
self.X_hat = tf.nn.sigmoid(logits)
# Define loss function
self.loss = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=self.X, logits=logits))
self.optimizer = tf.train.RMSPropOptimizer(learning_rate=0.005).minimize(self.loss)
self.init_op = tf.global_variables_initializer()
self.sess = tf.get_default_session()
if(self.sess == None):
self.sess = tf.Session()
self.sess.run(self.init_op)
def fit(self, X, epochs=10, bs=64):
n_batches = len(X) // bs
print("Training {} batches".format(n_batches))
for i in range(epochs):
print("Epoch: ", i)
X_perm = np.random.permutation(X)
for j in range(n_batches):
batch = X_perm[j*bs:(j+1)*bs]
_, _ = self.sess.run((self.optimizer, self.loss),
feed_dict={self.X: batch})
def predict(self, X):
return self.sess.run(self.X_hat, feed_dict={self.X: X})
def encode(self, X):
return self.sess.run(self.Z, feed_dict={self.X: X})
def decode(self, Z):
return self.sess.run(self.X_hat, feed_dict={self.Z: Z})
def terminate(self):
self.sess.close()
del self.sess