Я очень новичок в tenorflow, и я хочу определить свою собственную функцию стоимости, используя numpy для моего проекта, описанного здесь
Это мой код, который я скопировал:
# Backward propagation
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=y, logits=yhat))
updates = tf.train.GradientDescentOptimizer(0.01).minimize(cost)
# Run SGD
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(updates, feed_dict={X: train_X, y: train_y})
Я хочу изменить эту функцию стоимости на другую функцию, которую я уже определил с помощью numpy. Есть ли способ преобразовать тензор у в массив Numpy, а затем обратно в тензор.
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=y, logits=yhat))
У меня не было успеха с использованием transpose()
и eval()
, потому что это было необходимо для запуска во время tf.session
.
Вот функция потерь в numpy:
def loss_perunage(ones_array,votearray):
results = countresults(ones_array,votearray)
return 1 - results[0]/int(len(a))
Функция использует другой набор данных для вычисления хороших результатов.
Я хочу, чтобы этот perunage был стоимостью.
Надеюсь, вы, ребята, можете дать мне советы по этому вопросу, не стесняйтесь спрашивать что-нибудь, если что-то неясно.
Редактировать: Извините за мой английский, я не родной