Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/tensorflow/python/data/ops/from_tensors_op.py: 53%

17 statements  

« prev     ^ index     » next       coverage.py v7.4.0, created at 2024-01-03 07:57 +0000

1# Copyright 2022 The TensorFlow Authors. All Rights Reserved. 

2# 

3# Licensed under the Apache License, Version 2.0 (the "License"); 

4# you may not use this file except in compliance with the License. 

5# You may obtain a copy of the License at 

6# 

7# http://www.apache.org/licenses/LICENSE-2.0 

8# 

9# Unless required by applicable law or agreed to in writing, software 

10# distributed under the License is distributed on an "AS IS" BASIS, 

11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

12# See the License for the specific language governing permissions and 

13# limitations under the License. 

14# ============================================================================== 

15"""The implementation of `tf.data.Dataset.from_tensors`.""" 

16 

17from tensorflow.python.data.ops import dataset_ops 

18from tensorflow.python.data.util import structure 

19from tensorflow.python.ops import gen_dataset_ops 

20 

21 

22def _from_tensors(tensors, name): # pylint: disable=unused-private-name 

23 return _TensorDataset(tensors, name) 

24 

25 

26class _TensorDataset(dataset_ops.DatasetSource): 

27 """A `Dataset` with a single element.""" 

28 

29 def __init__(self, element, name=None): 

30 """See `tf.data.Dataset.from_tensors` for details.""" 

31 element = structure.normalize_element(element) 

32 self._structure = structure.type_spec_from_value(element) 

33 self._tensors = structure.to_tensor_list(self._structure, element) 

34 self._name = name 

35 variant_tensor = gen_dataset_ops.tensor_dataset( 

36 self._tensors, 

37 output_shapes=structure.get_flat_tensor_shapes(self._structure), 

38 metadata=self._metadata.SerializeToString()) 

39 super().__init__(variant_tensor) 

40 

41 @property 

42 def element_spec(self): 

43 return self._structure