lanking520 commented on issue #14784: What is the difference between Symbol and 
Gluon?
URL: 
https://github.com/apache/incubator-mxnet/issues/14784#issuecomment-486470231
 
 
   Q1: Generally speaking, you can do DL in both imperative or Symbolic ways. 
MXNet are supporting both of them. imperative way (NDArray) is more like 
running code from top to down. You will get the result from each layer you 
write. It's very convienient to debug. However, Symbolic way (Symbol) is done 
for performance, it will create a computation graph based on the code block you 
created and executed them in a single piece. And what you are thinking is 
right, Symbolic way is usually faster than imperative.
   
   Q2: Not fully, but mostly. We are covering 99% of them to make sure they can 
be used. Gluon is an abstract layer on the existing NDArray API in mxnet with a 
bunch of optimization. It designed to be imperative. The advantage point for 
Gluon is the bridge to convert a imperative model to symbolic model. By using 
Hybridize block and control-flow operator, you can easily convert a imperative 
implementation to a symbolic model in a second. So you don't have to write the 
model again in Symbolic ways (write in Symbol). I would recommend to make a 
start using Gluon APIs.

----------------------------------------------------------------
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