歐先生(R語言)玩轉Tensorflow(四)
Tensorflow的數據可視化
我們接下來的工作要建立一組移動平均值,並可視化
1 基礎設置
library(tensorflow)nsetwd("D:RTensorflow")n
2 隨機生成基礎數據
raw_data <- rnorm(n = 100, mean = 10, sd = 1) #正態分布n
3 定義變數
alpha <- tf$constant(0.05) #移動平均權重ncurr_value <- tf$placeholder(tf$float32) #定義變數(未賦值)nprev_avg <- tf$Variable(0.0) #初始移動平均值n
4 構造移動平均計算節點
update_avg <- tf$multiply(alpha , curr_value) + tf$multiply((1 - alpha), prev_avg)n#tf$multiply為乘法運算n
5 命名並標量賦值
avg_hist <- tf$summary$scalar("running_average", update_avg)nvalue_hist <- tf$summary$scalar("incoming_values", curr_value)n#這裡running_average為命名n
6 合併Summary
merged <- tf$summary$merge_all() #將之前定義的所有summary op整合到一起nwriter <- tf$summary$FileWriter("./logs")#將Summary協議緩衝區寫入事件文件n
7 運算
init <- tf$global_variables_initializer()n初始化#nnwith(tf$Session() %as% sess,{n#建立會話 n sess$run(init)n#運行初始化n for(i in 1:length(raw_data)){n summary_str_curr_avg <- sess$run(list(merged, update_avg), feed_dict=dict(curr_value= raw_data[i]))n sess$run(tf$assign(prev_avg, summary_str_curr_avg[[2]]))n print(c(raw_data[i],summary_str_curr_avg[[2]]))n writer$add_summary(summary_str_curr_avg[[1]], i)n }n})n
7 調用tensorboard
log_dir="D:RTensorflowlogs"ntensorboard(log_dir, action = c("start", "stop"), host = "127.0.0.1",n port = "auto",n launch_browser = getOption("tensorflow.tensorboard.browser", interactive()),n reload_interval = 5, purge_orphaned_data = TRUE)n
8 輸出
TensorBoard 0.1.8 at http://127.0.0.1:6984 (Press CTRL+C to quit)nStarted TensorBoard at http://127.0.0.1:6984 n
直接吧輸出http://127.0.0.1:6984 複製到瀏覽器就好了
我們的環境
- WIN7 64位
- RSTUDIO
- Microsoft R Open 3.4
- Anaconda3-4.4.0-Windows-x86_64
編後語
本文主要工作為haven-jeon/TensorFlow-Book-R的代碼解讀與中文備註
我們將繼續推出R語言語法、統計分析數據挖掘等一系列文章。你的點贊和關注使我們最大的動力。
推薦閱讀:
※數據的分組匯總-基於R的reshape包
※FinTech Club【上海站】報名|數據驅動科技金融新增長
※左手用R右手Python系列13——字元串處理與正則表達式
※R語言簡單數據分析-朝陽醫院2016年銷售數據