Converts the argument into an instance of tff.Type.

Used in the notebooks

Used in the tutorials

Examples of arguments convertible to tensor types:

(np.int32, [10])
(np.int32, [None])

Examples of arguments convertible to flat named tuple types:

[np.int32, np.bool]
(np.int32, np.bool)
[('a', np.int32), ('b', np.bool)]
('a', np.int32)
collections.OrderedDict([('a', np.int32), ('b', np.bool)])

Examples of arguments convertible to nested named tuple types:

(np.int32, (np.float32, np.bool))
(np.int32, (('x', np.float32), np.bool))
((np.int32, [1]), (('x', (np.float32, [2])), (np.bool, [3])))

attr.s class instances can also be used to describe TFF types by populating the fields with the corresponding types:

class MyDataClass:

obj = MyDataClass(...)
type_spec = tff.types.to_type(obj)

def work(my_data):
  assert isinstance(my_data, MyDataClass)

obj Either an instance of tff.Type, or an argument convertible to tff.Type.

An instance of tff.Type corresponding to the given obj.