Tensorflow實現單神經網路

2021-08-14 23:36:48 字數 1520 閱讀 7178

#tensorflow實現模型評估

#訓練集

#測試集

#驗證集

import matplotlib.pyplot as plt

import numpy as np

import tensorflow as tf

sess=tf.session()

#資料集準備

x_vals=np.random

.normal(1,0.1,100)

y_vals=np.repeat(10.,100)

x_data=tf.placeholder(dtype=tf.float32,shape=[none,1])

y_target=tf.placeholder(dtype=tf.float32,shape=[none,1])

batch_size=25

train_indices=np.random

.choice(len(x_vals),round(len(x_vals)*0.8),replace=false)

test_indices=np.array(list(set(range(len(x_vals)))-set(train_indices))) #剩下的做測試標籤

x_vals_train=x_vals[train_indices]

x_vals_test=x_vals[test_indices]

y_vals_train=y_vals[train_indices]

y_vals_test=y_vals[test_indices]

a=tf.variable(tf.random_normal(shape=[1,1]))

#宣告演算法模型、損失函式和優化器演算法

my_output=tf.matmul(x_data,a)

loss=tf.reduce_mean(tf.square(my_output-y_target))

#初始化變數

init=tf.global_variables_initializer()

sess.run(init)

my_opt=tf.train

.gradientdescentoptimizer(0.02)

train_step=my_opt.minimize(loss)

#接下來進行模型的迭代訓練

for i in range(100):

rand_index=np.random

.choice(len(x_vals_train),size=batch_size)

rand_x=np.transpose([x_vals_train[rand_index]])

rand_y=np.transpose([y_vals_train[rand_index]])

sess.run(train_step,feed_dict=)

if (i+1)%25==0:

print(str(i+1)+"===loss:"+str(sess.run(loss,feed_dict=)))

tensorflow實現迴圈神經網路

迴圈神經網路出現於20世紀80年代,在其發展早期,應用部署特別豐富。最近幾年由於神經網路結構的進步和gpu上深度學習訓練效率的突破,rnn變得越來越流行。rnn對時間序列資料非常有效,其每個神經元可通過內部元件儲存之前輸入的資訊。人每次思考時不會重頭開始,而是保留之前思考的一些結果為現在的決策提供支...

tensorflow實現BP神經網路

tensorflow實現由乙個隱藏層的bp神經網路,tensorflow中的梯度函式只用在最後一層輸入損失函式就可以了,非常的方便。import tensorflow as tf import numpy as np def add layer inputs,in size,out size,act...

TensorFlow 實現簡單神經網路

該神經網路有x1,x2兩個輸入 隱藏層有3個神經元 所以w1為2 3矩陣 輸出只有乙個y 所以w2為3 1 矩陣 import tensorflow as tf import os os.environ tf cpp min log level 2 import numpy as np batch ...