配置超引數
class config:
def __init__(self):
self.lr = 0.001
self.epoches = 2000
self.samples = 200 #訓練樣本數量
self.hidden_units = 200 #隱藏層神經元個數
獲取訓練樣本
class sample:
def __init__(self, samples):
self.xs = np.random.uniform(-np.pi, np.pi, [samples]) #隨機正太分布生成-pi到pi的隨機數作為樣本x
self.xs = sorted(self.xs)
self.ys = np.sin(self.xs), np.cos(self.xs) #樣本目標值[2,-1]
搭建神經網路
class tensor:
def __init__(self, config: config):
self.x = tf.placeholder(tf.float32, [none], name='x') # [200]
self.y = tf.placeholder(tf.float32, [2,none], name='y') #[2,-1]
x = tf.reshape(self.x, [-1, 1]) # 元素轉化為張量
x = tf.layers.dense(x, config.hidden_units, tf.nn.relu)
self.y_predict = tf.layers.dense(x, 2) #[-1,2]
y = tf.transpose(self.y) #使目標值的shape與**值相同
self.loss = tf.reduce_mean(tf.square(self.y_predict - y)) #計算loss
self.lr = tf.placeholder(tf.float32, , 'lr')
opt = tf.train.adamoptimizer(self.lr) #訓練優化器
self.train_op = opt.minimize(self.loss)
self.loss = tf.sqrt(self.loss)
編寫應用物件
def __init__(self, config: config):
self.ts = tensor(config) #例項化張量網路
self.config = config
self.session = tf.session() #建立會話
self.session.run(tf.global_variables_initializer()) #初始化變數
def train(self): #訓練方法
sample = sample(200)
for epoche in range(self.config.epoches):
_, loss = \
self.session.run([self.ts.train_op, self.ts.loss],
)#餵入訓練資料
print(f":")
return sample.xs, sample.ys #返回樣本資料
def predict(self): #**方法
sample = sample(400)
ys = self.session.run(self.ts.y_predict, ) #餵入**資料
return sample.xs, ys #返回**資料
def close(self):
self.session.close()
主方法
if __name__ == '__main__':
plt.plot(predict_x, predict_y)
plt.legend(['predict_sin','predict_cos'])
plt.show()
結果
訓練過程 GPU訓練
為什麼y2b的8m,8張普通tt為啥要跑幾個月?因為gpu其實有60 的時間都是在等待資料填充完成,簡直蠢。1 換個固態硬碟試試?沒用。問題出在系統匯流排上,一幀的資料量入視訊記憶體後有1.58g 當前最優的分布式訓練方式是通過引數伺服器 parameter server 執行的同步隨機梯度下降演算...
訓練 9 13 訓練賽
a.hdu 6230 乙個合法的子串 s 3n 2 滿足條件即1 2n 1 為以n為回文中心的回文串,n 3n 2為以2n 1為中心的回文串。故我們可以通過尋找回文中心對,來判斷相應合法子串的個數。利用manacher求出每個位置的最長回文半徑,則若i,j滿足條件 i j 則應有 p i geqsl...
迴圈訓練 抗「疫」居家訓練指南迴圈訓練
為了便於大家居家訓練,在此選擇了迴圈訓練法作為保持體能的針對性方法。一 概念 迴圈訓練法是指根據訓練的具體任務,將練習手段設定為若干個練習站,運動員按照既定順序和路線,依次完成每站練習任務的訓練方法。運用迴圈訓練法可有效地激發訓練情緒,通過交替刺激不同體位累積負荷 痕跡 迴圈訓練法的結構因素有每站的...