[GitHub] [incubator-singa] joddiy commented on issue #540: added softmax with axis
joddiy commented on issue #540: added softmax with axis URL: https://github.com/apache/incubator-singa/pull/540#issuecomment-540567614 ready to merge This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [incubator-singa] joddiy commented on issue #540: added softmax with axis
joddiy commented on issue #540: added softmax with axis URL: https://github.com/apache/incubator-singa/pull/540#issuecomment-538984488 > > still has some problems, the output of multiple dimension inputs is not correct. > > please check: > > ``` > > x_0 = np.array([[0, 1, 2, 3], [1, 10001, 10002, 10003]]).astype(np.float32) > > # axis is 1 > > # expected output [[0.0320586, 0.08714432, 0.23688284, 0.64391428], > > # [0.0320586, 0.08714432, 0.23688284, 0.64391428]] > > ``` > > Hi @joddiy , this is updated, could you please help to review? Hi shicong, the axis and output are almost correct. However, the result will overflow if the input values are too big. For example, for input of [0, 1, 2, 3], the result is correct. But for input of 1, 10001, 10002, 10003], the result will be [nan, nan, nan, nan]. Please use this formation: ``` def softmax(x): """Compute softmax values for each sets of scores in x.""" e_x = np.exp(x - np.max(x)) return e_x / e_x.sum() ``` **not directly use x as input, instead subtracting the max value of x from x to avoid the overflow.** This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [incubator-singa] joddiy commented on issue #540: added softmax with axis
joddiy commented on issue #540: added softmax with axis URL: https://github.com/apache/incubator-singa/pull/540#issuecomment-538211628 still has some problems, the output of multiple dimension inputs is not correct. please check: ``` x_0 = np.array([[0, 1, 2, 3], [1, 10001, 10002, 10003]]).astype(np.float32) # axis is 1 # expected output [[0.0320586, 0.08714432, 0.23688284, 0.64391428], # [0.0320586, 0.08714432, 0.23688284, 0.64391428]] ``` This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services