Esempio n. 1
0
  def test_scope(self):
    axis_order = ['w', 'x', 'y', 'z']

    lt = core.LabeledTensor(tf.reshape(tf.range(24), (1, 2, 3, 4)), axis_order)
    expected = core.transpose(lt, axis_order[::-1])
    with core.axis_order_scope(axis_order[::-1]):
      actual = core.impose_axis_order(lt)
    self.assertLabeledTensorsEqual(expected, actual)
Esempio n. 2
0
    def test_scope(self):
        axis_order = ['w', 'x', 'y', 'z']

        lt = core.LabeledTensor(
            array_ops.reshape(math_ops.range(24), (1, 2, 3, 4)), axis_order)
        expected = core.transpose(lt, axis_order[::-1])
        with core.axis_order_scope(axis_order[::-1]):
            actual = core.impose_axis_order(lt)
        self.assertLabeledTensorsEqual(expected, actual)
Esempio n. 3
0
    def test_axis_order_scope(self):
        xz_lt = core.LabeledTensor(array_ops.ones((2, 3)), ['x', 'z'])
        yz_lt = core.LabeledTensor(array_ops.ones((4, 3)), ['y', 'z'])

        _, _, broadcast_axes = core.align(xz_lt, yz_lt)
        self.assertEqual(list(broadcast_axes.keys()), ['x', 'y', 'z'])

        _, _, broadcast_axes = core.align(yz_lt, xz_lt)
        self.assertEqual(list(broadcast_axes.keys()), ['y', 'x', 'z'])

        with core.axis_order_scope(['x', 'y', 'z']):
            _, _, broadcast_axes = core.align(yz_lt, xz_lt)
            self.assertEqual(list(broadcast_axes.keys()), ['x', 'y', 'z'])

        with core.axis_order_scope(['x', 'y']):
            with self.assertRaises(core.AxisOrderError):
                core.align(xz_lt, yz_lt)
            with self.assertRaises(core.AxisOrderError):
                core.align(yz_lt, xz_lt)
Esempio n. 4
0
  def test_axis_order_scope(self):
    xz_lt = core.LabeledTensor(tf.ones((2, 3)), ['x', 'z'])
    yz_lt = core.LabeledTensor(tf.ones((4, 3)), ['y', 'z'])

    _, _, broadcast_axes = core.align(xz_lt, yz_lt)
    self.assertEqual(list(broadcast_axes.keys()), ['x', 'y', 'z'])

    _, _, broadcast_axes = core.align(yz_lt, xz_lt)
    self.assertEqual(list(broadcast_axes.keys()), ['y', 'x', 'z'])

    with core.axis_order_scope(['x', 'y', 'z']):
      _, _, broadcast_axes = core.align(yz_lt, xz_lt)
      self.assertEqual(list(broadcast_axes.keys()), ['x', 'y', 'z'])

    with core.axis_order_scope(['x', 'y']):
      with self.assertRaises(core.AxisOrderError):
        core.align(xz_lt, yz_lt)
      with self.assertRaises(core.AxisOrderError):
        core.align(yz_lt, xz_lt)
Esempio n. 5
0
    def test(self):
        xyz = ['x', 'y', 'z']
        abc = ['a', 'b', 'c']

        self.assertIsNone(core.get_axis_order())

        with core.axis_order_scope(xyz):
            self.assertEqual(core.get_axis_order(), xyz)

            with core.axis_order_scope():
                self.assertIsNone(core.get_axis_order())

                with core.axis_order_scope(abc):
                    self.assertEqual(core.get_axis_order(), abc)

                self.assertIsNone(core.get_axis_order())

            self.assertEqual(core.get_axis_order(), xyz)

        self.assertIsNone(core.get_axis_order())
Esempio n. 6
0
  def test(self):
    xyz = ['x', 'y', 'z']
    abc = ['a', 'b', 'c']

    self.assertIsNone(core.get_axis_order())

    with core.axis_order_scope(xyz):
      self.assertEqual(core.get_axis_order(), xyz)

      with core.axis_order_scope():
        self.assertIsNone(core.get_axis_order())

        with core.axis_order_scope(abc):
          self.assertEqual(core.get_axis_order(), abc)

        self.assertIsNone(core.get_axis_order())

      self.assertEqual(core.get_axis_order(), xyz)

    self.assertIsNone(core.get_axis_order())
Esempio n. 7
0
  def test_matrix_matrix_axis_order(self):
    xy_lt = core.LabeledTensor(tf.reshape(tf.range(6), (2, 3)), ['x', 'y'])
    yz_lt = core.LabeledTensor(tf.reshape(tf.range(12), (3, 4)), ['y', 'z'])

    golden_lt = core.LabeledTensor(
        tf.matmul(xy_lt.tensor, yz_lt.tensor), ['x', 'z'])

    with core.axis_order_scope(['x', 'y', 'z']):

      matmul_lt = ops.matmul(xy_lt, yz_lt)
      self.assertLabeledTensorsEqual(matmul_lt, golden_lt)

      matmul_lt = ops.matmul(yz_lt, xy_lt)
      self.assertLabeledTensorsEqual(matmul_lt, golden_lt)
Esempio n. 8
0
 def test_scope(self):
     axis_order = ['w', 'x', 'y', 'z']
     lt = core.LabeledTensor(array_ops.ones((1, 1, 1, 1)), axis_order)
     with core.axis_order_scope(axis_order):
         core.check_axis_order(lt)
Esempio n. 9
0
 def test_scope(self):
   axis_order = ['w', 'x', 'y', 'z']
   lt = core.LabeledTensor(tf.ones((1, 1, 1, 1)), axis_order)
   with core.axis_order_scope(axis_order):
     core.check_axis_order(lt)