tensorflow是全面的深度學習框架支援非常全面不是專門為客戶端設計
特點:1、真正的可移植性: 引入各種計算裝置的支援包括cpu/gpu/tpu,以及能夠很好地執行在移動端, 如安卓裝置、ios、樹莓派等等
2、多語言支援: tensorflow 有乙個合理的c++使用介面,也有乙個易用的python使用介面來構建和 執行你的graphs,你可以直接寫python/c++程式。
3、高度的靈活性與效率: tensorflow是乙個採用資料流圖(data flow graphs),用於數值計算的開源軟體庫 能夠靈活進行組裝圖,執行圖。隨著開發的進展,tensorflow的效率不算在提高
4、支援:tensorflow 由谷歌提供支援,谷歌投入了大量精力開發 tensorflow,它希望 tensorflow 成為機器學習研究人員和開發人員的通用語言
圖的建立:
tf.graph()
使用新建立的圖
g = tf.graph()
with g.as_default():
a = tf.constant(1.0)
assert c.graph is g
圖預設已經註冊,一組表示 tf.operation計算單位的物件和tf.tensor 表示操作之間流動的資料單元的物件
獲取呼叫: tf.get_default_graph() op、sess或者tensor 的graph屬性
執行tensorflow操作圖的類,使用預設註冊的圖(可以指定執行圖) 會話資源 會話可能擁有很多資源,
如 tf.variable,tf.queuebase 和tf.readerbase,會話結束後需要進行資源釋放 sess = tf.session() sess.run(...) sess.close()
使用上下文管理器 with tf.session() as sess: sess.run(...) config=tf.configproto(log_device_placement=true)
互動式:tf.interactivesession()
run(fetches, feed_dict=none,graph=none) 執行ops和計算tensor 巢狀列表,元組, namedtuple,dict或ordereddict(過載的運算子也能執行)
feed_dict 允許呼叫者覆蓋圖中指定張量的值,提供給 placeholder使用
返回值異常
runtimeerror:如果它session處於無效狀態(例如已關閉)。
typeerror:如果fetches或feed_dict鍵是不合適的型別。
valueerror:如果fetches或feed_dict鍵無效或引用 tensor不存在。
importview codetensorflow as tf
import
osos.environ[
'tf_cpp_min_log_level
']='2'
#建立一張圖包含了一組op和tensor,上下文環境
#op:只要使用tensorflow的api定義的函式都是op
#tensor:就指代的是資料
g =tf.graph()
(g)with g.as_default():
c = tf.constant(11.0)
(c.graph)
#實現乙個加法運算
a = tf.constant(5.0)
b = tf.constant(6.0)
sum1 =tf.add(a, b)
#預設的這張圖,相當於是給程式分配一段記憶體
graph =tf.get_default_graph()
(graph)
#不是op不能執行
var1 = 2.0
#var2 = 3
#sum2 = var1 + var2
#有過載的機制,缺省會給運算子過載成op型別
sum2 = a +var1
(sum2)
#s = tf.session()##
s.run()
#s.run()
#s.close()
#只能執行乙個圖, 可以在會話當中指定圖去執行
#只要有會話的上下文環境,就可以使用方便eval()
#訓練模型
#實時的提供資料去進行訓練
#placeholder是乙個佔位符,feed_dict乙個字典
plt = tf.placeholder(tf.float32, [2, 3, 4])
(plt)
with tf.session(config=tf.configproto(log_device_placement=true)) as sess:
#print(sess.run(plt, feed_dict=))
#print(sum1.eval())
(a.graph)
print("
---------")
(a.shape)
(plt.shape)
print("
-------")
(a.name)
print("
-------")
print(a.op)
學習進度筆記
學習進度筆記26 分類演算法 分類演算法屬於監督式學習,使用類標籤已知的樣本建立乙個分類函式或分類模型,應用分類模型,能把資料庫中的類標籤未知的資料進行歸類。分類在資料探勘中是一項重要的任務,目前在商業上應用最多,常見的典型應用場景有流失 精確營銷 客戶獲取 個性偏好等。mllib 目前支援分類演算...
學習進度筆記
學習進度筆記24 讀取檔案演示 import org.apache.spark.sparkconf import org.apache.spark.streaming.import org.apache.spark.streaming.streamingcontext.object fileword...
學習進度筆記
學習進度筆記16 scala語言學習 object testmap def ttt f int int unit val r f 10 println r val f0 x int x x 定義了乙個方法 def m0 x int int 傳遞進來的引數乘以10 x 10 將方法轉換成函式,利用了神...