Я пытаюсь создать функцию для создания tf.dataset, а в другой функции "train" - использовать эти наборы данных для подачи в модель, но я не знаю, как передать эти данные в другую функцию
предположим, что у нас есть данные обучения и проверки (num, height, width, channel)
training_x = np.arange(500).reshape(20,5,5,1)
training_y = np.arange(200,700).reshape(20,5,5,1)
val_x = np.arange(100,300).reshape(8,5,5,1)
val_y = np.arange(400,600).reshape(8,5,5,1)
и другая функция get_batch_data с использованием tf.datasets
def get_batch_data():
# placeholder is to feed the training and validation data
input_x = tf.placeholder(tf.float32, shape=[None, height, width, channel])
input_y = tf.placeholder(tf.float32, shape=[None, height, width, channel])
dataset = tf.data.Dataset.from_tensor_slices((input_x, input_y))
dataset = dataset.shuffle(buffer_size = 5)
dataset = dataset.batch(2)
iterator = dataset.make_initializable_iterator()
image, label = iterator.get_next()
return image, label, iterator
и простой моделиfunction
def model(input):
conv1 = tf.layers.conv2d(input, filters = 3 ,kernel_size = [3,3], strides = (1,1), padding = 'same')
return conv1
мы будем использовать набор данных для подачи в модель в функции "train"
def train():
sess = tf.Session()
sess.run(tf.global_variables_initializer())
image, label, iterator = get_batch_data()
for epoc in range(10):
# for training data
sess.run(iterator.initializer, feed_dict={} )
#show some evaluation
# for validation data
sess.run(iterator.initializer, feed_dict={} )
# show some evaluation
точно я не знаю, как подать эти данные в функцию "train", ноесли я напишу tf.datasets и "train" в одну и ту же функцию, и я смогу это сделать.Просто хочу набрать более элегантный
спасибо большое