o
    i e{                     @   sR   d Z ddlmZ ddlmZ ddlmZ ddlmZ dd Z	G dd	 d	ej
Zd
S )z/The implementation of `tf.data.Dataset.unique`.    )dataset_ops)nest)dtypes)gen_experimental_dataset_opsc                 C   s
   t | |S N)_UniqueDataset)input_datasetname r
   S/var/www/myenv/lib/python3.10/site-packages/tensorflow/python/data/ops/unique_op.py_unique   s   
r   c                       s"   e Zd ZdZd fdd	Z  ZS )r   z=A dataset containing the unique elements of an input dataset.Nc                    sp   || _ tt|D ]}|tjtjtjfvrt	d| dq|| _
tj| j jfi | j}t || dS )z)See `tf.data.Dataset.unique` for details.z/`tf.data.Dataset.unique` does not support type z? -- only `tf.int32`, `tf.int64`, and `tf.string` are supported.N)_input_datasetr   flattenr   get_legacy_output_typesr   int32int64string	TypeError_namer   unique_dataset_variant_tensor_common_argssuper__init__)selfr   r	   tyvariant_tensor	__class__r
   r   r      s   
z_UniqueDataset.__init__r   )__name__
__module____qualname____doc__r   __classcell__r
   r
   r   r   r      s    r   N)r"   tensorflow.python.data.opsr   tensorflow.python.data.utilr   tensorflow.python.frameworkr   tensorflow.python.opsr   r   UnaryUnchangedStructureDatasetr   r
   r
   r
   r   <module>   s   