import numpy as np
import pandas as pd
from pandas import series,dataframe
from matplotlib import pyplot as plt
%matplotlib inline
#匯入tensorflow模組
import tensorflow as tf
x_train = np.linspace(0,10,num=20)+np.random.randn(20)
y_train = np.linspace(1,4,num=20)+np.random.randn(20)
n_samples = 20
由於是線性回歸,因此表示式可以表示為:f(x)=wx+b —-> y = wx+btensorflow的辦法是,使用x,y作為佔位符,並使用隨機的w,b
#建立x,y佔位符
x = tf.placeholder('float')
y = tf.placeholder('float')
#隨機生成乙個w,b,作為斜率和截距
w = tf.variable(np.random.randn())
b = tf.variable(np.random.randn())
#根據模擬線性方程得出**值
y_pre = w*x+b
#成本函式cost:是實際輸出和**輸出之間的方差,這也稱為最小二乘法。
cost = tf.reduce_sum(tf.pow(y_pre-y,2))/n_samples
#learning_rate:學習率,是進行訓練時在最陡的梯度方向上所採取的「步」長;
learning_rate = 0.01
optimizer = tf.train.gradientdescentoptimizer(learning_rate).minimize(cost)
#tensorflow初始化
init = tf.global_variables_initializer()
#開始訓練
with tf.session() as sess:
#初始化
sess.run(init)
#訓練所有資料,50次迴圈
for epoch in range(50):
for (x,y) in zip(x_train,y_train):
#用真實值x,y代替佔位符x,y,每次迴圈都執行梯度下降演算法
sess.run(optimizer,feed_dict=)
#每執行50次顯示運算結果
iftrue:
#用訓練資料替換佔位符,計算出cost最小二乘法偏差和
c = sess.run(cost,feed_dict=)
print('epoch:','%04d'%(epoch+1),'cost=',''.format(c),
'w=',sess.run(w),'b=',sess.run(b))
print('optimization finished!')
#資料視覺化
使用Tensorflow進行卷積操作模擬
python版本 3.6.7 tensorflow版本 1.12.3 使用jupyter notebook操作 使用一張5x5 一通道的影象 對應的shape 1,5,5,1 用乙個3 3的卷積核 對應的shape 3,3,1,1 去做卷積 print 矩陣 n sess.run x reshape...
TensorFlow 使用樣本進行求解平方根
之前用的是使用迭代進行直接的求解 但是深度學習最常用的方法是 根據樣本學習 之間的解法是求解arg minf x argminf x argmin f x 目前的解法是求解arg minf x,p argminf x,p argmin f x,p 求的值是p,而不是x p就是要優化的東西 通過樣本來...
linux下c語言使用socket進行執行緒間的通訊
socket起源於unix,而unix linux基本哲學之一就是 一切皆檔案 都可以用 開啟open 讀寫write read 關閉close 模式來操作。socket就是該模式的乙個實現,socket即是一種特殊的檔案,一些socket函式就是對其進行的操作 讀 寫io 開啟 關閉 說白了soc...