歐先生(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年銷售數據

TAG:R编程语言 | 数据分析 |