Un marcador de posición es una variable en Tensorflow a la que se le asignarán datos más adelante. Nos permite crear procesos u operaciones sin necesidad de datos. Los datos se introducen en el marcador de posición cuando se inicia la sesión y se ejecuta la sesión. Podemos introducir datos en gráficos de tensorflow usando marcadores de posición.
Sintaxis: tf.compat.v1.placeholder(dtype, forma=Ninguno, nombre=Ninguno)
Parámetros:
- dtype: el tipo de datos de los elementos en el tensor que se alimentará.
- forma: por defecto Ninguno. La forma del tensor que se alimentará, es un parámetro opcional. Se puede alimentar un tensor de cualquier forma si no se especifica la forma.
- nombre: por defecto Ninguno. El nombre de la operación, parámetro opcional.
Devoluciones:
Un tensor que se puede usar para alimentar un valor pero que no se puede evaluar directamente.
Ejemplo 1:
Python3
# importing packages import tensorflow.compat.v1 as tf # disabling eager mode tf.compat.v1.disable_eager_execution() # creating a placeholder a = tf.placeholder(tf.float32, None) # creating an operation b = a + 10 # creating a session with tf.Session() as session: # feeding data in the placeholder operation_res = session.run(b, feed_dict={a: [10, 20, 30, 40]}) print("after executing the operation: " + str(operation_res))
Producción:
after executing the operation: [20. 30. 40. 50.]
Explicación:
- El modo impaciente está deshabilitado en caso de que haya algún error.
- Se crea un marcador de posición usando el método tf.placeholder() que tiene un dtype ‘tf.float32’, Ninguno dice que no especificamos ningún tamaño.
- La operación se crea antes de introducir los datos.
- La operación suma 10 al tensor.
- Se crea una sesión y se inicia usando tf.Session().
- Session.run toma la operación que creamos y los datos que se alimentarán como parámetros y devuelve el resultado.
Ejemplo 2:
Python3
# importing packages import tensorflow.compat.v1 as tf # disabling eager mode tf.compat.v1.disable_eager_execution() # creating a tensorflow graph graph = tf.Graph() with graph.as_default(): # creating a placeholder a = tf.placeholder(tf.float64, shape=(3, 3), name='tensor1') # creating an operation b = a ** 2 # array1 will be fed into 'a' array1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Creating a session, and running the graph with tf.Session(graph=graph) as session: # run the session until it reaches node b, # then input an array of values into a operation_res = session.run(b, feed_dict={a: array1}) print("after executing the operation: ") print(operation_res)
Producción:
after executing the operation: [[ 1. 4. 9.] [16. 25. 36.] [49. 64. 81.]]
Publicación traducida automáticamente
Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA