【发布时间】:2016-10-21 20:39:51
【问题描述】:
我是编程新手,尤其是使用 tensorflow 编程。我正在制作玩具问题以了解使用它。 在那种情况下,我想构建一个类似 softmax 的函数,其中分母不是所有类的总和,而是一些采样类的总和。
在 python 中使用 numpy 会是这样的:
def my_softmax(X,W, num_of_samples):
K = 4
S = np.zeros(((np.dot(X,np.transpose(W))).shape))
for line in range(X.shape[0]):
XW = np.dot(X[line],np.transpose(W))
m = np.max(XW)
samples_sum = 0
for s in range(num_of_samples):
r = (randint(0,K-1))
samples_sum += np.exp(XW[r]- m)
S[line] = (np.exp(XW-m))/(samples_sum)
return S
这如何在 tensorflow 中实现? 更一般地说,有没有一种可能的方法来创建新的“自定义”函数?
【问题讨论】:
标签: python function tensorflow softmax