diff options
author | Qi Liu <liuq901@163.com> | 2016-03-15 13:17:45 +0800 |
---|---|---|
committer | Qi Liu <liuq901@163.com> | 2016-03-15 13:17:45 +0800 |
commit | b547dd2a30e91ce124d50f763997070ea67c6f7e (patch) | |
tree | e6f77044f68fd14b3c58b8bcda5ce84d84e96f62 /nerv/matrix | |
parent | 3dd235c8b6ea7ef275381866d11d1be828d27a06 (diff) |
add mask on softmax_ce
Diffstat (limited to 'nerv/matrix')
-rw-r--r-- | nerv/matrix/generic/cumatrix.c | 1 | ||||
-rw-r--r-- | nerv/matrix/generic/matrix.c | 12 | ||||
-rw-r--r-- | nerv/matrix/generic/mmatrix.c | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/nerv/matrix/generic/cumatrix.c b/nerv/matrix/generic/cumatrix.c index 0c90d39..9577fd5 100644 --- a/nerv/matrix/generic/cumatrix.c +++ b/nerv/matrix/generic/cumatrix.c @@ -268,6 +268,7 @@ static const luaL_Reg nerv_matrix_(extra_methods)[] = { {"scale_rows_by_col", nerv_matrix_(lua_scale_rows_by_col)}, {"prefixsum_row", nerv_matrix_(lua_prefixsum_row)}, {"diagonalize", nerv_matrix_(lua_diagonalize)}, + {"set_values_by_mask", nerv_matrix_(lua_set_values_by_mask)}, #ifdef __NERV_FUTURE_CUDA_7 {"update_select_rows_by_rowidx", nerv_matrix_(lua_update_select_rows_by_rowidx)}, {"update_select_rows_by_colidx", nerv_matrix_(lua_update_select_rows_by_colidx)}, diff --git a/nerv/matrix/generic/matrix.c b/nerv/matrix/generic/matrix.c index fe07585..3e91933 100644 --- a/nerv/matrix/generic/matrix.c +++ b/nerv/matrix/generic/matrix.c @@ -395,4 +395,16 @@ static int nerv_matrix_(lua_diagonalize)(lua_State *L) { return 0; } +static int nerv_matrix_(lua_set_values_by_mask)(lua_State *L) { + Status status; + MATRIX_CONTEXT *context; + MATRIX_GET_CONTEXT(L, 4); + Matrix *a = luaT_checkudata(L, 1, nerv_matrix_(tname)); + Matrix *mask = luaT_checkudata(L, 2, nerv_matrix_(tname)); + double val = luaL_checknumber(L, 3); + nerv_matrix_(set_values_by_mask)(a, mask, val, context, &status); + NERV_LUA_CHECK_STATUS(L, status); + return 0; +} + #endif diff --git a/nerv/matrix/generic/mmatrix.c b/nerv/matrix/generic/mmatrix.c index a5e5969..de1eaa3 100644 --- a/nerv/matrix/generic/mmatrix.c +++ b/nerv/matrix/generic/mmatrix.c @@ -117,6 +117,7 @@ static const luaL_Reg nerv_matrix_(extra_methods)[] = { {"clip", nerv_matrix_(lua_clip)}, {"fill", nerv_matrix_(lua_fill)}, {"diagonalize", nerv_matrix_(lua_diagonalize)}, + {"set_values_by_mask", nerv_matrix_(lua_set_values_by_mask)}, {"sigmoid", nerv_matrix_(lua_sigmoid)}, {"sigmoid_grad", nerv_matrix_(lua_sigmoid_grad)}, {"softmax", nerv_matrix_(lua_softmax)}, |