import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets
import tensorflow as tf
sess=tf.session()
iris=datasets.load_iris()
# print(iris.target)
# print(iris.keys,iris.values,iris.items)
# python獲取物件成員資訊 :dir(obj)
# print(dir(iris))
# ['descr', 'data', 'feature_names', 'filename', 'target', 'target_names']
# 根據class目標是否為山鳶尾將其轉換成1或者0,iris資料集將山鳶尾標記為0,將其從0置為1,同時將其它物種標記為0
# 訓練只使用花瓣長度與花瓣寬度,這兩個特徵在第三列和第四列
binary_target=np.array([1. if x==0 else 0. for x in iris.target])
# print(binary_target)
iris_2d=np.array([[x[2],x[3]] for x in iris.data])
# print(iris_2d.size)
# 各150組資料,共300,150*2
# print(type(iris_2d))# print(iris_2d.shape) (150, 2)
# 宣告批量訓練大小、佔位符及模型變數
batch_size=200
x1_data=tf.placeholder(shape=[none,1],dtype=tf.float32)
x2_data=tf.placeholder(shape=[none,1],dtype=tf.float32)
y_target=tf.placeholder(shape=[none,1],dtype=tf.float32)
a=tf.variable(tf.random_normal(shape=[1,1]))
b=tf.variable(tf.random_normal(shape=[1,1]))
# 定義線性模型 線性模型為:x2=x1*a+b,將公式x2-x1*a-b傳入sigmoid函式,**結果1或者0
my_mult=tf.matmul(x1_data,a)
my_add=tf.add(my_mult,b)
my_output=tf.subtract(x2_data,my_add)
# 使用sigmoid交叉熵損失函式sigmoid_cross_entropy_with_logits()
xentropy=tf.nn.sigmoid_cross_entropy_with_logits(labels = y_target, logits = my_output)
# 使用優化器,最小化交叉熵損失,選擇學習率為0.05
my_opt=tf.train.gradientdescentoptimizer(0.05)
train_step=my_opt.minimize(xentropy)
# 初始化變數
init=tf.global_variables_initializer()
sess.run(init)
# 迭代執行1000訓練線性模型,傳入三種資料:花瓣長度,花瓣寬度,目標變數,每200次迭代列印出變數值
動態建立2
在modern c design中提到了一種使用工廠來管理所有類別的解決方案,類別都儲存在乙個map裡,每個具體的產品類向該工廠註冊。建立物件時通過呼叫createobject int itypeid 就可以得到相應的類別。同前一種比起來,這種方法更容易理解。首先需要乙個工廠類,它應該是乙個sing...
mysql 建立分割槽索引嗎 mysql建立分割槽索引
該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 mysql建立分割槽索引 一 分割槽表 把所有的資料放在乙個表中,但是物理儲存資料會根據一定規則存放到不同的檔案中 二 什麼時候使用分割槽表?資料比較大時候,數以億記或者數以tb記的資料,如果使用索引在空間和維護消耗巨大,甚至索引沒有效果了.例子 檢視是...
2 jenkins git建立建立及專案構建
管理系統 管理外掛程式 可選外掛程式 然後找到 git plugin 由於我這裡已經安裝了,所以可選框是灰色的 認證方式管理,也可以在專案下配置 需要注意的是,這裡私鑰對應的公鑰應該在git倉庫相應的使用者的ssh公鑰認證檔案 ssh authorized 裡已經新增過,且這個使用者對git倉庫有讀...