class_docstr: Most tests done in the base class LinearOperatorDerivedClassTest.
code: def test_shape_tensors_when_only_dynamically_available(self):
      mat_1 = rng.rand(1, 2, 3, 4)
      mat_2 = rng.rand(1, 2, 4, 5)
      mat_ph_1 = array_ops.placeholder(dtypes.float64)
      mat_ph_2 = array_ops.placeholder(dtypes.float64)
      feed_dict = {mat_ph_1: mat_1, mat_ph_2: mat_2}
  
      operators = [
          linalg.LinearOperatorFullMatrix(mat_ph_1),
          linalg.LinearOperatorFullMatrix(mat_ph_2),
      ]
      operator = linalg.LinearOperatorComposition(operators)
      with self.cached_session():
          self.assertAllEqual(
              (1, 2, 3, 5),
              operator.shape_tensor().eval(feed_dict=feed_dict),
          )
  
imports: import numpy
  from tensorflow.python.framework import config
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.linalg import linalg
  from tensorflow.python.ops.linalg import linear_operator_test_util
  from tensorflow.python.platform import test
label_desc: Use image node_id 7 for calling the NonSquareLinearOperatorCompositionTest obj's underlying member method code with example usage: obj.test_shape_tensors_when_only_dynamically_available() without return types