message: Force-place QR ops on CPU.
  This prevents TFE from trying and failing to run them on GPUs.
diff: @@ -36,15 +36,17 @@ import math
  import numpy as np
  +from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  +from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import linalg_ops_impl
  from tensorflow.python.ops import gen_linalg_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  -from tensorflow.python.util.deprecation import (
  - deprecated, deprecated_arg_values)
  +from tensorflow.python.util.deprecation import deprecated
  +from tensorflow.python.util.deprecation import deprecated_arg_values
  from tensorflow.python.util.tf_export import tf_export
  @@ -546,6 +548,10 @@ class Orthogonal(Initializer):
  # Generate a random matrix
  a = random_ops.random_normal(flat_shape, dtype=dtype, seed=self.seed)
  # Compute the qr factorization
  + if context.executing_eagerly():
  + with ops.device("cpu:0"): # TODO(b/73102536)
  + q, r = gen_linalg_ops.qr(a, full_matrices=False)
  + else:
  q, r = gen_linalg_ops.qr(a, full_matrices=False)
  # Make Q uniform
  d = array_ops.diag_part(r)
  @@ -596,6 +602,10 @@ class ConvolutionDeltaOrthogonal(Initializer):
  a = random_ops.random_normal([shape[-1], shape[-1]],
  dtype=dtype, seed=self.seed)
  # Compute the qr factorization
  + if context.executing_eagerly():
  + with ops.device("cpu:0"): # TODO(b/73102536)
  + q, r = gen_linalg_ops.qr(a, full_matrices=False)
  + else:
  q, r = gen_linalg_ops.qr(a, full_matrices=False)
  # Make Q uniform
  d = array_ops.diag_part(r)
  