У меня есть глубокая нейронная сеть, где она выполняет обучение следующим образом:
# Training and testing phases
with tf.Session() as sess:
# Training
sess.run(init)
for epoch in range(1001):
avg_cost = 0.
for index_m in range(20):
input_samples = []
input_labels = []
for index_k in range(0, 1000):
bits = np.random.binomial(n=1, p=0.5, size=(10,))
input_data = input_funct(bits, SNR)
input_labels.append(input_data)
input_samples.append(input)
batch_x = np.asarray(input_samples)
batch_y = np.asarray(input_labels)
_, cs = sess.run([optimizer, cost], feed_dict={X: batch_x,
Y: batch_y,
learning_rate: l_rate})
Мой вопрос об этих сгенерированных данных input_data = input_funct(bits, SNR)
,: сколько раз они будут сгенерированы? как я вижу, он будет сгенерирован после трех for loops
как: 1001 * 20 * 1000 = 20000000 раз, верно? при условии размера столбцов = 10;Теперь, если у меня есть данные в виде матрицы того же размера, которые уже сгенерированы и импортированы как файл размером (20000000,10)
, мне нужно поместить их вместо input_data
и разместить их столбец за столбцом для обработки обучения. Как мне это сделать? Конечно, команда bits = np.random.binomial(n=1, p=0.5, size=(10,))
будет импортирована аналогичным образом, а не сгенерирована здесь случайным образом.
Обычно я предполагаю добавить новый for loop
для всех столбцов, но я не знаю, где и как, так как я новичок в программировании на Python.
спасибо
РЕДАКТИРОВАТЬ:
Как насчет этого пути, где я добавил еще один цикл общего размера, а затем добавил другие циклы внутри него.
# Training and testing phases
#label is the imported matrix of size(10 x 20000000)
#data is the imported matrix of size(10 x 20000000)
with tf.Session() as sess:
# Training
sess.run(init)
for j in range(1001*20*1000)
for epoch in range(1001):
avg_cost = 0.
for index_m in range(20):
input_samples = []
input_labels = []
for index_k in range(0, 1000):
bits = label(:,j)
input_data = data(:,j)
input_labels.append(input_data)
input_samples.append(input)
batch_x = np.asarray(input_samples)
batch_y = np.asarray(input_labels)
_, cs = sess.run([optimizer, cost], feed_dict={X: batch_x,
Y: batch_y,
learning_rate: l_rate})