Path: blob/master/site/es-419/community/contribute/code_style.md
25118 views
Guía de estilo del código de TensorFlow
Estilo de Python
Siga la guía de estilo de Python de PEP 8, excepto que TensorFlow usa 2 espacios en lugar de 4. Péguese a lo escrito en la Guía de estilo de Python de Google y use pylint para verificar sus cambios en Python.
pylint
Para instalar pylint
, escriba lo que sigue:
Para comprobar un archivo con pylint
desde el directorio raíz del código fuente de TensorFlow, ejecute lo siguiente:
Versiones de Python compatibles
Para conocer las versiones de Python compatibles, consulte la guía de instalación de TensorFlow.
Consulte el estado de compilación continua de TensorFlow para conocer las compilaciones oficiales y respaldadas por la comunidad.
Estilo de codificación C++
Los cambios al código de TensorFlow C++ deben ajustarse a la Guía de estilo de C++ de Google y a los detalles de estilo específicos de TensorFlow. Use clang-format
para comprobar sus cambios en C/C++.
Para instalar en Ubuntu 16+, escriba lo que sigue:
Puede verificar el formato de un archivo C/C++ con el siguiente código:
Otros lenguajes
Convenciones y usos especiales de TensorFlow
Operaciones de Python
Una operación de TensorFlow es una función que, en función de los tensores de entrada, devuelve tensores de salida (o agrega una operación a un gráfico cuando se crean gráficos).
El primer argumento deben ser los tensores, seguidos de los parámetros básicos de Python. El último argumento es
name
con un valor predeterminado deNone
.Los argumentos de los tensores deben ser un único tensor o un iterable de tensores. Es decir, un "Tensor o lista de tensores" es demasiado amplio. Consulte
assert_proper_iterable
.Las operaciones que toman tensores como argumentos deberían llamar a
convert_to_tensor
para convertir entradas que no sean tensores en tensores si están usando operaciones C++. Tenga en cuenta que los argumentos todavía se describen como un objetoTensor
de un dtype específico en la documentación.Cada operación de Python debe tener un
name_scope
. Como se ve a continuación, se pasa el nombre de la operación como una cadena.Las operaciones deben contener un extenso comentario en Python con declaraciones de Args y Returns que expliquen tanto el tipo como el significado de cada valor. Las posibles formas, dtypes o clasificaciones deben especificarse en la descripción. Consulte los detalles de la documentación.
Para aumentar la facilidad de uso, incluya un ejemplo de uso con entradas o salidas de la operación en la sección Ejemplo.
Evite utilizar explícitamente
tf.Tensor.eval
otf.Session.run
. Por ejemplo, para escribir lógica que dependa del valor del Tensor, utilice el flujo de control de TensorFlow. Otra opción es restringir la operación para que se ejecute únicamente cuando el modo eager execution esté habilitado (tf.executing_eagerly()
).
Ejemplo:
Uso: