Как просто сохранить тензорные не модели в Tensorflow2

#python #tensorflow #tensorflow2.0

#python #тензорный поток #tensorflow2.0

Вопрос:

Я изучал Tensorflow2 несколько месяцев, но столкнулся с некоторыми трудностями.Например, я создаю один тензор, подобный:

 import tensorflow as tf
v=tf.random.normal((20,30,40))
  

Теперь я просто хочу сохранить tensor v в подходящий файл.На самом деле,v создается из данных .nc.Я использую пакеты «netCDF4», чтобы прочитать его и выбрать некоторые переменные, размеры которых равны (time, lon, широта), чтобы объединить их в v с размерами (time, lon, широта, var_num).

Но размер v большой (например, (1000,224,224,5)).Итак, мне нужно сохранить v на случай многократного чтения netcdf. Я ищу несколько вопросов, но мало что может мне помочь, потому что они касаются либо сохранения переменных в tf1.X, либо сохранения моделей (или переменных в моделях) в tf 2.

Итак, я прихожу сюда и обращаюсь за помощью к красивым людям.Заранее большое спасибо.

Ответ №1:

Вы все еще можете использовать формат сохраненной модели для хранения одного tf.Variable

Вы бы просто записали v в tf.Variable , а затем передали это в tf.saved_model.save .

Может быть, что-то вроде этого:

 v=tf.Variable(tf.random.normal((20,30,40)))
tf.saved_model.save(v, '/path/to/my_var')
  

затем снова загрузить из сохраненной версии:

 v_from_file = tf.saved_model.load('/path/to/my_var')
  

Комментарии:

1. Большое спасибо. С вашими методами я решил свою проблему! Возможно, раньше это была моя ошибка, что save_model используется только в моделях ~

2. @janeasefor для моего удовольствия. Рад, что это решено. 🙂 Если бы мое решение помогло, возможно, вы бы подумали о принятии и / или повышении его

3. Хорошо! Сейчас моя репутация составляет менее 15. Однажды, при достижении порогового значения, я вернусь, чтобы проголосовать за ваш ответ.

4. Примечание: Это работает только в режиме ожидания. Не в графическом режиме внутри отслеживаемой @tf.функции.