先描述一下我想解決的問題:檔案中儲存著乙個大約60000行的資料,有三列,分別是時間,人數,和流量需求。我需要僅僅根據著三列資料,判斷基站的開和關,**如下。
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import data_processing
data = data_processing.load_data()
data = data.values.astype(np.float32)
np.random.shuffle(data)
sep = int(0.7*len(data))
train_data = data[:sep] # training data (70%)
test_data = data[sep:]
tf_input = tf.placeholder(tf.float32, [none, 3], "input")#佔地方用的
tfx = tf_input[:, :2]
tfy = tf_input[:, 2:]
w1=tf.variable(tf.random_normal([2,128],seed=1))#列的個數就代表神經原的個數
w2=tf.variable(tf.random_normal([128,128],seed=1))#列的個數代表輸出的個數
w3=tf.variable(tf.random_normal([128,128],seed=1))
w4=tf.variable(tf.random_normal([128,1],seed=1))
b1=tf.variable(tf.random_normal([1,128],seed=1))
b2=tf.variable(tf.random_normal([128,1],seed=1))
a=tf.matmul(tfx,w1)
a1=tf.tanh(a)
b=tf.matmul(a1,w2)
b1=tf.tanh(b)
c=tf.matmul(b1,w3)
c1=tf.tanh(c)
y=tf.matmul(c1,w4)
#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.001)
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, )
if i%500==0:
total_loss=sess.run(loss,feed_dict=)
print("after %d training steps,loss on all data is %g"%(i,total_loss))
w1=tf.variable(tf.random_normal([2,128],seed=1))
#tf.random_normal函式:是符合正太分布的,在沒有特殊的要求下,均值是0,均方誤差是1
2表示輸入是兩列,128是神經元的個數。seed表示隨機生成的w1是固定不變的。這是神經網路的第一層
w2=tf.variable(tf.random_normal([128,128],seed=1))#列的個數代表輸出的個數
#這是神經網路的第二層,128個輸入,128個輸出,是全連線的。
w3=tf.variable(tf.random_normal([128,128],seed=1))
#這是神經網路的第三層,同理
w4=tf.variable(tf.random_normal([128,1],seed=1))#
用程式設計解決實際問題
在現實程式設計中,如果我們遇到了已經學過的演算法不適合解決的問題,該怎麼辦?其實很簡單,就是把控制流程和資料結構想清楚,然後用 實現就好了!在本章內我們就來看兩個例子。題目內容 這些錢及其理財收益僅僅用於你個人的日常生活消費 不買房 不買車 不置產,不用於大病 也不包括結婚生子的費用,只用來過日子。...
簡單的用於解決分類問題的神經網路
原理可以自己去看關於深度學習的網課,然後學習一下tensorflow的使用。看懂下面這段 你便學會了簡單的深度學習 import tensorflow as tf import numpy as np learning rate 0.001 學習率 batch size 8seed 23455 r ...
C語言 Switch語句解決實際問題
任務 include define price 12 此處以千千快遞為例,每千克貨物運費12rmb,定義常量巨集 int main printf 請輸入距離 千公尺 scanf f fdistance if fdistance 0 if fdistance 3000 else ffreight pr...