Tensorflow crear una red neuronal (dos) Visualización

El proceso de formación de visualización a cabo

importación tensorflow como tf 
 importación numpy como np 
 importación matplotlib.pyplot como plt 

# 去掉警告
importación advertencias 
warnings.filterwarnings ( " ignorar " , "* GUI se implementa. * " ) 

importación os 
os.environ [ ' TF_CPP_MIN_LOG_LEVEL ' ] = ' 2 ' 

def add_layer (entradas, in_size, out_size, activation_function = ninguno): 
    Pesos = tf.Variable (tf.random_normal ([in_size, out_size])) 
    sesgos= Tf.Variable (tf.zeros ([1, out_size]) + 0,1) # 保证sesgos不为0 
    Wx_plus_b = tf.matmul (entradas, Pesos) + sesgos
     si activation_function == Ninguno: 
        salidas = Wx_plus_b
     otra cosa : 
        salidas = activation_function (Wx_plus_b)
     volver salidas 

x_data = np.linspace (-1, 1, 300) # (300,) 
x_data = x_data.reshape (300,1) # (300, 1) 

ruido = np.random.normal (0, 0.05 , x_data.shape) 
y_data = np.square (x_data) - 0,5 + ruido 

#为lote做准备 
xs = tf.placeholder (tf.float32, [Ninguno, 1 ]) 
ys = tf.placeholder (tf.float32, [ninguno, 1 ]) 

L1 = add_layer (xs, 1, 10, activation_function = tf. nn.relu) 
predicción = add_layer (L1, 10, 1, activation_function = Ninguno) 

pérdida = tf.reduce_mean (tf.reduce_sum (tf.square (YS - predicción), 1 )) 

train_step = tf.train.GradientDescentOptimizer (0,1 ) .minimize (pérdida) 

init = tf.global_variables_initializer () 

# 画图 
fig = plt.figure () 
ax = fig.add_subplot (1,1,1 ) 
ax.scatter (x_data, y_data) 
plt.ion ()

con tf.Session () como sess: 
    sess.run (init) 
    para el paso en serie (1000 ): 
        sess.run (train_step, feed_dict = {xs: x_data, YS: y_data})
         si paso% 20 == 0:
             # imprimir ( 'pérdida =', sess.run (pérdida, feed_dict = {xs: x_data, YS: y_data}))      
#             try: 
#                 ax.lines.remove (líneas [0]) 
#             excepción excepción: 
#                 pasan 

            prediction_value = sess .run (predicción, feed_dict = {xs: x_data})
 #             de impresión (prediction_value) 
            líneas = ax.plot (x_data, prediction_value, ' b- ' , LW = 3 ) 
            
            plt.pause ( 0.1 ) 
            ax.lines.remove (líneas [0]) 
        paso + = 1 
        plt.show ()

Los problemas encontrados en el proceso de formación que es una solución:

1, no muestran ninguna línea azul

2, la pantalla dinámica no es

solución:

1, spyder, las herramientas ---- ---- preferencias IPython consola ---- ---- Gráficos backend ---- cambio automático

Si hay problemas en el reinicio del spyder

2, paso + = 1, sólo empezó a correr esta frase no aumenta, que dará lugar a que el resultado sea rechazado, no hay una línea roja

 

Supongo que te gusta

Origin www.cnblogs.com/gaona666/p/12638705.html
Recomendado
Clasificación