import numpy as np import tensorflow as tf import matplotlib.pyplot as plt import data_processing data = data_processing.load_data() #new_data = data_processing.convert2onehot(data) #new_data就是one_hot完成的数据 #new_data = new_data.values.astype(np.float32) # change to numpy array and float32 data = data.values.astype(np.float32) #np.random.shuffle(new_data)#只对数据的行之间进行洗牌,每一行中列之间的位置是不变的 np.random.shuffle(data) #sep = int(0.7*len(new_data)) #train_data = new_data[:sep] # training data (70%) #test_data = new_data[sep:] # test data (30%) sep = int(0.7*len(data)) train_data = data[:sep] # training data (70%) test_data = data[sep:] #tf_input = tf.placeholder(tf.float32, [None, 22], "input")#占地方用的 #tfx = tf_input[:, :20] #tfy = tf_input[:, 20:] tf_input = tf.placeholder(tf.float32, [None, 3], "input")#占地方用的 tfx = tf_input[:, :2] tfy = tf_input[:, 2:] #w1=tf.Variable(tf.random_normal([20,128],stddev=1,seed=1))#列的个数就代表神经原的个数 #w2=tf.Variable(tf.random_normal([128,2],stddev=1,seed=1))#列的个数代表输出的个数 #a=tf.matmul(tfx,w1) #y=tf.matmul(a,w2) w1=tf.Variable(tf.random_normal([2,128],stddev=1,seed=1))#列的个数就代表神经原的个数 w2=tf.Variable(tf.random_normal([128,1],stddev=1,seed=1))#列的个数代表输出的个数 a=tf.matmul(tfx,w1) y=tf.matmul(a,w2) #loss = tf.losses.softmax_cross_entropy(onehot_labels=tfy, logits=y) loss=tf.reduce_mean(tf.square(y-tfy))#利用均方误差计算loss(相当于一个损失函数) train_op=tf.train.GradientDescentOptimizer(0.001).minimize(loss)#0.001是学习率 #train_step=tf.train.MomentumOptimizer(0.001).minimize(loss)#可使用这三个优化方法,可以试一下哪个效果比较好 #train_op=tf.train.AdadeltaOptimizer(0.001).minimize(loss) #train_op = tf.train.GradientDescentOptimizer(learning_rate=0.01) with tf.Session() as sess: init_op=tf.global_variables_initializer()#初始化所有参数 sess.run(init_op) #训练模型 steps=60000 for i in range(steps): batch_index = np.random.randint(len(train_data), size=16)#batch_index表示一下子喂给神经网络多少的数据 sess.run(train_op, {tf_input: train_data[batch_index]}) if i%500==0: total_loss=sess.run(loss,feed_dict={tf_input: test_data}) print("after %d training steps,loss on all data is %g"%(i,total_loss))
搭建了一个简单的神经网络,并且计算loss函数。未完待续。。。
用tensorflow搭建简单的神经网络
最新推荐文章于 2023-04-03 21:08:45 发布