Neutron3529 edited a comment on issue #15589: [Discussion] 1.6.0 Roadmap
URL: 
https://github.com/apache/incubator-mxnet/issues/15589#issuecomment-515350512
 
 
   I think make (pre-trained) NN editable directly may helpful.
   For example, I want to train a NN, whose input is `(data,aux_data)` and its 
output is 'predict'.
   with the progression of training, I may found that `aux_data` is useless and 
may introduce additional bias in both training and testing.
   Fortunately, since L2-regularization will make all the params related to 
`aux_data` near `0`, I could directly set all the params related to `aux_data` 
to `0`.
   But, the net with new parameters are slower than a new net with the 
pre-trained params.
   I think it is useful to enable direct editing for NNs.
   I think it will be more fancy:
   ```
   batch_size=1
   data=mx.sym.var('data',shape=(batch_size,1))
   aux_data=mx.sym.var('aux_data',shape=(batch_size,1))
   combine=mx.sym.Concat(data,aux,dim=-1)
   out=mx.sym.FullyConnected(combine,num_hidden=3).softmax()
   net=mx.mod.Module(symbol=out,data_names=('data','aux_data'))
   #(train and found that aux is useless)
   net.sym#`.sym` returns the names of symbols used in the net
   net.pop('aux_data')#will remove aux from net, and further, the net does not 
need `Concat` function anymore, and the params for `out` reduce 3 since `aux` 
is removed.
   ```
   Since it is very inconvenient to change the params in ParameterDict(I only 
knows that use mx.init.Constant may help, but that is too inconvenient for 
me.), add a `pop` method to the net may help.
   ------------------------------
   What's more, I think MXNet needs a relocatable .dll/.so file
   `libmxnet.dll` is too large and takes too much time to load in my Windows 10
   
   I asked how to decrease the dll size (since there is too much `arch`s in the 
single .dll file and what I want is just `-arch=sm_61` for my GTX 1060)
   
   The reply is to use `nvprune`, I tried it and it gives me an error:
   ```
   nvprune fatal   : Input file 'libmxnet.dll' not relocatable
   ```
   Make the `libmxnet.dll`/`libmxnet.so` relocatable will provides the 
possibility to further decrease the size of the `dll` file. And may further 
more decrease the import time.
   It seems the symbol are contained in `libmxnet.lib`, but I can not merge 
these symbols into `libmxnet.dll`. If someone find a way to redistribute a 
`libmxnet.dll` with symbols, we may take less time import mxnet in python

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to