Can someone help me with a very simple question?
I see that if the T.ExecOp is used then T is passed on as the first parameter of the operation.
I needed some time, how the w2 := TTensor.CreateInt32([30, 10]).Temp.ExecOp('RandomUniform'); line actually first creates a Shape, and using it as a first parameter, generates a Tensor with random numbers, using tf.random.uniform. Looking at it, first I assumed it creates a 2 element Int32 vector and randomizes that. (Usual OO logic, that the method is working on the object and not using the object as an input to a sort-of class method.) Anyway now, I understand how it works.
I also see that ExecOp can take (max 3) additional TTensors as parameters (e.g. for matrix multiplication, etc.), what is useful when the operation needs extra Tensors.
What I do not see, how I can pass other parameters, not Tensors. E.g in Python tf.random.uniform has a format:
tf.random.uniform(
shape,
minval=0,
maxval=None,
dtype=tf.dtypes.float32,
seed=None,
name=None
)
The C interface has seed and seed2, but no min-max. I see that ExecOp declares seed and seed2 and dtype, so, as expected, builds on the C interface.
Does it mean that min-max is a Python extension and neither C, not Pascal has it?
Regarding the other C parameters (e.g. Seed in this case, but in other operations might be more interesting ones), can I specify them in an easy way with the TF unit, or directly calling TensorFlow unit?