In mxnet symbolic graph considers every arguments as symbol, unlike in tensorflow where we declare our variables differently and input placeholder differently, so when you eval or run the graph you only have to pass your value of our input placeholder. While in mxnet you have to pass inputs as well as weights or biases in order to eval, for example:-
inputs = sym.Variable(‘inputs’)
w = sym.Variable(‘w’)
predictions = sym.dot(inputs, w)
predictions.eval(ctx = mx.cpu(), w = “some ndarray”, inputs = “some ndarray”)
Of course that’s not the case when you use builtin layer like sym.FullyConnected, but I want you do that from scratch.