Giter Site home page Giter Site logo

mxnet_center_loss's People

Contributors

luoyetx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mxnet_center_loss's Issues

About center update

I think the scale parameter should be multiplied duiring updating center.
Since the scale is a constant to weight center loss, it should influence both data sample and center backward.

无法执行此项目

想测试一下center loss 的威力...
git clone 下来 ,到 mxnet的项目中把 test/python/common/get_data.py 复制到此项目下,
执行train.py
执行失败

系统 Ubuntu 16.04 x64
CUDA 8.0
Cudnn 6.0
mxnet 0.10.1 and 0.11.0
opencv 3.3

求各路大神帮帮忙
@pangyupo @luoyetx

`[14:48:02] src/io/iter_mnist.cc:94: MNISTIter: load 60000 images, shuffle=1, shape=(100,1,28,28)
[14:48:02] src/io/iter_mnist.cc:94: MNISTIter: load 10000 images, shuffle=1, shape=(100,1,28,28)
training model ...
dev is [gpu(0)]
/home/mxnet_center_loss/train_model.py:133: DeprecationWarning: mxnet.model.FeedForward has been deprecated. Please use mxnet.mod.Module instead.
**model_args)
/home/mxnet/python/mxnet/initializer.py:353: DeprecationWarning: Calling initializer with init(str, NDArray) has been deprecated.please use init(mx.init.InitDesc(...), NDArray) instead.
init(name, arr)
[14:48:12] /home/mxnet/dmlc-core/include/dmlc/./logging.h:308: [14:48:12] src/pass/gradient.cc:159: Check failed: (*rit)->inputs.size() == input_grads.size() (5 vs. 2) Gradient function not returning enough gradient

Stack trace returned 10 entries:
[bt] (0) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4dmlc15LogMessageFatalD1Ev+0x3c) [0x7f28b1f644bc]
[bt] (1) /home/mxnet/python/mxnet/../../lib/libmxnet.so(+0x27b1f40) [0x7f28b4021f40]
[bt] (2) /home/mxnet/python/mxnet/../../lib/libmxnet.so(ZNSt17_Function_handlerIFN4nnvm5GraphES1_EPS2_E9_M_invokeERKSt9_Any_dataOS1+0x111) [0x7f28b2c033f1]
[bt] (3) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4nnvm11ApplyPassesENS_5GraphERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x32c) [0x7f28b4053b8c]
[bt] (4) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4nnvm9ApplyPassENS_5GraphERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x3c9) [0x7f28b2f99389]
[bt] (5) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4nnvm4pass8GradientENS_5GraphESt6vectorINS_9NodeEntryESaIS3_EES5_S5_St8functionIFS3_OS5_EES6_IFiRKNS_4NodeEEES6_IFS3_RKS3_SG_EES2_IPKNS_2OpESaISL_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x60c) [0x7f28b300780c]
[bt] (6) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor13InitFullGraphEN4nnvm6SymbolERKSt6vectorINS_9OpReqTypeESaIS5_EE+0x863) [0x7f28b2ff1283]
[bt] (7) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor9InitGraphEN4nnvm6SymbolERKNS_7ContextERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_St4lessISD_ESaISt4pairIKSD_S4_EEERKSt6vectorIS4_SaIS4_EESR_SR_RKSN_INS_9OpReqTypeESaISS_EE+0x82) [0x7f28b2ff1b52]
[bt] (8) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor4InitEN4nnvm6SymbolERKNS_7ContextERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_St4lessISD_ESaISt4pairIKSD_S4_EEERKSt6vectorINS_7NDArrayESaISO_EESS_RKSN_INS_9OpReqTypeESaIST_EESS_PNS_8ExecutorERKSt13unordered_mapINS2_9NodeEntryESO_NS2_13NodeEntryHashENS2_14NodeEntryEqualESaISG_IKS11_SO_EEE+0x76f) [0x7f28b2ffc45f]
[bt] (9) /home/mxnet/python/mxnet/../../lib/libmxnet.so(ZN5mxnet8Executor4BindEN4nnvm6SymbolERKNS_7ContextERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES3_St4lessISC_ESaISt4pairIKSC_S3_EEERKSt6vectorINS_7NDArrayESaISN_EESR_RKSM_INS_9OpReqTypeESaISS_EESR_PS0+0x1b8) [0x7f28b2ffd7f8]

Traceback (most recent call last):
File "./train.py", line 97, in
main()
File "./train.py", line 94, in main
train_model.fit(args, net, (train, val), data_shape)
File "/home/mxnet_center_loss/train_model.py", line 153, in fit
epoch_end_callback = checkpoint)
File "/home/mxnet/python/mxnet/model.py", line 830, in fit
sym_gen=self.sym_gen)
File "/home/mxnet/python/mxnet/model.py", line 210, in _train_multi_device
logger=logger)
File "/home/mxnet/python/mxnet/executor_manager.py", line 326, in init
self.slices, train_data)
File "/home/mxnet/python/mxnet/executor_manager.py", line 238, in init
input_types=data_types)
File "/home/mxnet/python/mxnet/executor_manager.py", line 184, in _bind_exec
grad_req=grad_req, shared_exec=base_exec)
File "/home/mxnet/python/mxnet/symbol.py", line 1636, in bind
ctypes.byref(handle)))
File "/home/mxnet/python/mxnet/base.py", line 102, in check_call
raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: [14:48:12] src/pass/gradient.cc:159: Check failed: (*rit)->inputs.size() == input_grads.size() (5 vs. 2) Gradient function not returning enough gradient

Stack trace returned 10 entries:
[bt] (0) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4dmlc15LogMessageFatalD1Ev+0x3c) [0x7f28b1f644bc]
[bt] (1) /home/mxnet/python/mxnet/../../lib/libmxnet.so(+0x27b1f40) [0x7f28b4021f40]
[bt] (2) /home/mxnet/python/mxnet/../../lib/libmxnet.so(ZNSt17_Function_handlerIFN4nnvm5GraphES1_EPS2_E9_M_invokeERKSt9_Any_dataOS1+0x111) [0x7f28b2c033f1]
[bt] (3) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4nnvm11ApplyPassesENS_5GraphERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x32c) [0x7f28b4053b8c]
[bt] (4) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4nnvm9ApplyPassENS_5GraphERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x3c9) [0x7f28b2f99389]
[bt] (5) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN4nnvm4pass8GradientENS_5GraphESt6vectorINS_9NodeEntryESaIS3_EES5_S5_St8functionIFS3_OS5_EES6_IFiRKNS_4NodeEEES6_IFS3_RKS3_SG_EES2_IPKNS_2OpESaISL_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x60c) [0x7f28b300780c]
[bt] (6) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor13InitFullGraphEN4nnvm6SymbolERKSt6vectorINS_9OpReqTypeESaIS5_EE+0x863) [0x7f28b2ff1283]
[bt] (7) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor9InitGraphEN4nnvm6SymbolERKNS_7ContextERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_St4lessISD_ESaISt4pairIKSD_S4_EEERKSt6vectorIS4_SaIS4_EESR_SR_RKSN_INS_9OpReqTypeESaISS_EE+0x82) [0x7f28b2ff1b52]
[bt] (8) /home/mxnet/python/mxnet/../../lib/libmxnet.so(_ZN5mxnet4exec13GraphExecutor4InitEN4nnvm6SymbolERKNS_7ContextERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_St4lessISD_ESaISt4pairIKSD_S4_EEERKSt6vectorINS_7NDArrayESaISO_EESS_RKSN_INS_9OpReqTypeESaIST_EESS_PNS_8ExecutorERKSt13unordered_mapINS2_9NodeEntryESO_NS2_13NodeEntryHashENS2_14NodeEntryEqualESaISG_IKS11_SO_EEE+0x76f) [0x7f28b2ffc45f]
[bt] (9) /home/mxnet/python/mxnet/../../lib/libmxnet.so(ZN5mxnet8Executor4BindEN4nnvm6SymbolERKNS_7ContextERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES3_St4lessISC_ESaISt4pairIKSC_S3_EEERKSt6vectorINS_7NDArrayESaISN_EESR_RKSM_INS_9OpReqTypeESaISS_EESR_PS0+0x1b8) [0x7f28b2ffd7f8]
`

train error: mx.symbol.Custom type error

运行train.py 报错:

TypeError: init() got an unexpected keyword argument 'data'

报错代码行

center_loss_ = mx.symbol.Custom(
        data=net, label=center_label, name='center_loss_', op_type='centerloss',
        num_class=NUM_CLASS, alpha=0.5, scale=1.0, batchsize=batch_size)

报错信息
image

类别中心center参数的另一种方式

能否将类别中心作为一个网络变量,center loss operator能否输入接收一个centor变量,输出时更新该变量,这样不同卡之间就能保持一致了。不知这样是否具有可行性?谢谢

run vis.py 时出现错误

C:\WinPython\python-2.7.10.amd64\python.exe D:/MyCoding/DeepLearning/test_example/mxnet/example/center_loss/vis.py
feature_extractor loaded
[01:15:43] D:\MyCoding\DeepLearning\OpenSource\mxnet\src\io\iter_mnist.cc:94: MNISTIter: load 60000 images, shuffle=1, shape=(100,1,28,28)
[01:15:44] D:\MyCoding\DeepLearning\OpenSource\mxnet\src\io\iter_mnist.cc:94: MNISTIter: load 10000 images, shuffle=1, shape=(100,1,28,28)
extracting feature
[01:15:44] D:\MyCoding\DeepLearning\OpenSource\mxnet\dmlc-core\include\dmlc/logging.h:235: [01:15:44] D:\MyCoding\DeepLearning\OpenSource\mxnet\src\symbol\symbol.cc:155: Symbol.InferShapeKeyword argument name softmax_label not found.
Candidate arguments:
[0]data
[1]convolution0_weight
[2]convolution0_bias
[3]convolution1_weight
[4]convolution1_bias
[5]fullyconnected0_weight
[6]fullyconnected0_bias
[7]embedding_weight
[8]embedding_bias

Traceback (most recent call last):
File "D:/MyCoding/DeepLearning/test_example/mxnet/example/center_loss/vis.py", line 73, in
main()
File "D:/MyCoding/DeepLearning/test_example/mxnet/example/center_loss/vis.py", line 55, in main
preds = feature_extractor.predict( i.data[0] )
File "C:\WinPython\python-2.7.10.amd64\lib\site-packages\mxnet-0.7.0-py2.7.egg\mxnet\model.py", line 608, in predict
self._init_predictor(data_shapes, type_dict)
File "C:\WinPython\python-2.7.10.amd64\lib\site-packages\mxnet-0.7.0-py2.7.egg\mxnet\model.py", line 532, in _init_predictor
self.ctx[0], grad_req='null', type_dict=type_dict, **dict(input_shapes))
File "C:\WinPython\python-2.7.10.amd64\lib\site-packages\mxnet-0.7.0-py2.7.egg\mxnet\symbol.py", line 676, in simple_bind
arg_shapes, _, aux_shapes = self.infer_shape(**kwargs)
File "C:\WinPython\python-2.7.10.amd64\lib\site-packages\mxnet-0.7.0-py2.7.egg\mxnet\symbol.py", line 458, in infer_shape
return self._infer_shape_impl(False, *args, **kwargs)
File "C:\WinPython\python-2.7.10.amd64\lib\site-packages\mxnet-0.7.0-py2.7.egg\mxnet\symbol.py", line 518, in _infer_shape_impl
ctypes.byref(complete)))
File "C:\WinPython\python-2.7.10.amd64\lib\site-packages\mxnet-0.7.0-py2.7.egg\mxnet\base.py", line 77, in check_call
raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: [01:15:44] D:\MyCoding\DeepLearning\OpenSource\mxnet\src\symbol\symbol.cc:155: Symbol.InferShapeKeyword argument name softmax_label not found.
Candidate arguments:
[0]data
[1]convolution0_weight
[2]convolution0_bias
[3]convolution1_weight
[4]convolution1_bias
[5]fullyconnected0_weight
[6]fullyconnected0_bias
[7]embedding_weight
[8]embedding_bias

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.