Метод read класса Checkpoint
Метод read класса Checkpoint
читает ранее сохраненную контрольную точку
и возвращает словарь, в котором ключами
являются имена переменных, а значениями -
восстановленные тензоры. Первым параметром
метод принимает путь к контрольной точке
без префикса, вторым - необязательный
параметр options с настройками чтения.
Синтаксис
tf.train.Checkpoint.read(save_path, [options])
Пример
Давайте создадим контрольную точку
с переменной и прочитаем ее с помощью
метода read:
import tensorflow as tf
t = tf.Variable([1, 2, 3, 4, 5], name='t')
ckpt = tf.train.Checkpoint(t=t)
save_path = ckpt.save('/tmp/model.ckpt')
print(save_path)
res = ckpt.read('/tmp/model.ckpt')
print(res)
Результат выполнения кода:
"/tmp/model.ckpt-1"
{"t": <tf.Tensor: shape=(5,), dtype=int32, numpy=array([1, 2, 3, 4, 5], dtype=int32)>}
Пример
Давайте восстановим значения переменных из контрольной точки и присвоим их объектам:
import tensorflow as tf
t = tf.Variable([1, 2, 3, 4, 5], name='t')
ckpt = tf.train.Checkpoint(t=t)
ckpt.save('/tmp/model.ckpt')
t.assign([0, 0, 0, 0, 0])
print(t.numpy())
res = ckpt.read('/tmp/model.ckpt')
ckpt.restore(res)
print(t.numpy())
Результат выполнения кода:
[0 0 0 0 0]
[1 2 3 4 5]
Пример
Давайте прочитаем контрольную точку, содержащую несколько переменных, и выведем их значения:
<+python+>
import tensorflow as tf
a = tf.Variable([1, 2, 3], name='a')
b = tf.Variable([4, 5, 6], name='b')
ckpt = tf.train.Checkpoint(a=a, b=b)
ckpt.save('/tmp/model.ckpt')
res = ckpt.read('/tmp/model.ckpt')
for name, value in res.items():
print(name, value.numpy())
<-python+>
Результат выполнения кода:
a [1 2 3]
b [4 5 6]
Смотрите также
-
класс
Checkpoint,
который управляет сохранением и восстановлением состояния -
метод
save,
который сохраняет контрольную точку на диск -
метод
restore,
который восстанавливает значения переменных из контрольной точки -
метод
read,
который читает контрольную точку и возвращает словарь значений