Как создать пользовательскую функцию стоимости, используя numpy в tenorflow - PullRequest
0 голосов
/ 08 января 2019

Я очень новичок в 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 был стоимостью.

Надеюсь, вы, ребята, можете дать мне советы по этому вопросу, не стесняйтесь спрашивать что-нибудь, если что-то неясно.

Редактировать: Извините за мой английский, я не родной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...