This is an update to let anyone interested know what functionality has been added so far and what more is coming in the next week:
It is also possible to go ahead and look at all the operations that populate the graph. The functionality returns the operation names in a list:
iex(2)> op_list = Tensorflex.get_graph_ops graph
["softmax/biases", "softmax/weights", "pool_3/_reshape/shape",
"mixed_10/join/concat_dim", "mixed_10/tower_2/conv/batchnorm/moving_variance",
"mixed_10/tower_2/conv/batchnorm/moving_mean",
"mixed_10/tower_2/conv/batchnorm/gamma",
"mixed_10/tower_2/conv/batchnorm/beta", "mixed_10/tower_2/conv/conv2d_params",
"mixed_10/tower_1/mixed/conv_1/batchnorm/moving_variance",
"mixed_10/tower_1/mixed/conv_1/batchnorm/moving_mean",
"mixed_10/tower_1/mixed/conv_1/batchnorm/gamma",
"mixed_10/tower_1/mixed/conv_1/batchnorm/beta",
"mixed_10/tower_1/mixed/conv_1/conv2d_params",
"mixed_10/tower_1/mixed/conv/batchnorm/moving_variance",
"mixed_10/tower_1/mixed/conv/batchnorm/moving_mean",
"mixed_10/tower_1/mixed/conv/batchnorm/gamma",
"mixed_10/tower_1/mixed/conv/batchnorm/beta",
"mixed_10/tower_1/mixed/conv/conv2d_params",
"mixed_10/tower_1/conv_1/batchnorm/moving_variance",
"mixed_10/tower_1/conv_1/batchnorm/moving_mean",
"mixed_10/tower_1/conv_1/batchnorm/gamma",
"mixed_10/tower_1/conv_1/batchnorm/beta",
"mixed_10/tower_1/conv_1/conv2d_params",
"mixed_10/tower_1/conv/batchnorm/moving_variance",
"mixed_10/tower_1/conv/batchnorm/moving_mean",
"mixed_10/tower_1/conv/batchnorm/gamma",
"mixed_10/tower_1/conv/batchnorm/beta", "mixed_10/tower_1/conv/conv2d_params",
"mixed_10/tower/mixed/conv_1/batchnorm/moving_variance",
"mixed_10/tower/mixed/conv_1/batchnorm/moving_mean",
"mixed_10/tower/mixed/conv_1/batchnorm/gamma",
"mixed_10/tower/mixed/conv_1/batchnorm/beta",
"mixed_10/tower/mixed/conv_1/conv2d_params",
"mixed_10/tower/mixed/conv/batchnorm/moving_variance",
"mixed_10/tower/mixed/conv/batchnorm/moving_mean",
"mixed_10/tower/mixed/conv/batchnorm/gamma",
"mixed_10/tower/mixed/conv/batchnorm/beta",
"mixed_10/tower/mixed/conv/conv2d_params",
"mixed_10/tower/conv/batchnorm/moving_variance",
"mixed_10/tower/conv/batchnorm/moving_mean",
"mixed_10/tower/conv/batchnorm/gamma", "mixed_10/tower/conv/batchnorm/beta",
"mixed_10/tower/conv/conv2d_params", "mixed_10/conv/batchnorm/moving_variance",
"mixed_10/conv/batchnorm/moving_mean", "mixed_10/conv/batchnorm/gamma",
"mixed_10/conv/batchnorm/beta", "mixed_10/conv/conv2d_params",
"mixed_9/join/concat_dim", ...]
The logical progression of adding functions should eventually get to the point where we can run the loaded graph against our own inputs and generate prediction outputs. For this to work, a lot of functions need to be added first: particularly ones that will allow us to read Tensors supplied by the user. These TF_Tensor functions are very important and they would have to encompass a wide variety of inputs. More graph based functions will also be imported from Tensorflow as and when required (like the operation list function get_graph_ops) After that, some more graph based functions will be needed that will use both the tensor functionality and the graph functions. Finally, we will need to add support for creating and running Sessions.