原创 Tensorboard源碼的小改動讓你的模型性能調優如絲般順滑

       利用Tensorflow進行訓練時,訓練性能是用戶經常 關心 的問題,訓練速度慢 導致模型迭代慢工作效率低。尤其在一些在線訓練場景會導致數據堆積,模型跟不上數據變化。解決性能問題的關鍵是快速定位到算法中的性能瓶頸 。在Ten

原创 由Scalable IO引發的思考

前言 前面我們一起研究了NIO,瞭解了NIO對TCP通信過程做了哪些優化,以及這些優化的實現原理。今天我們一起來看一看在利用NIO進行應用開發時,線程模型的演化。讓我們一起來學習一下Java併發包的作者Doug Lea的Scalable

原创 近年互聯網主要技術綜述(DEV篇)

計算機軟件技術的生命週期簡單劃分可以分爲開發和運維兩個階段。開發階段圍繞業務模型對現實世界模擬,數據沉澱,計算分析,得出結論創造價值。運維階段是爲了維護好開發階段創造的軟件成果,幫助軟件成果更平穩的服務好真實世界。運維階段關注在任

原创 關於AQS的靈魂追問

一線大廠的面試通常會就一個點進行追問深挖,將很多求職者追問到語盡詞窮的地步。因此常常被詬病爲面試造火箭,工作擰螺絲。這跟大廠的選人用人策略有很大關係,也是不同公司人才觀的一種體現。今天就跟大家分享一道簡單的面試題。前面的文章中我們已經介紹

原创 軟件架構與管理——源自搬磚哲學

​前言 在前面關於ScalableIO的博客中我提到程序設計其實是一門管理科學,好的軟件架構是在構建一個好的管理模型。有讀者給我私信希望我就軟件架構與管理這個話題展開聊一聊。這個需求真是不好接。因爲在這個方面,之前我只是抓住了一些零散的感

原创 一起來分解一個Netty應用

​前言 前面幾篇博客主要介紹到了NIO針對網絡IO場景相比較傳統的Socket通信的優勢,以及NIO在應用過程中線程模型的演化。從這篇博客開始我們一起來學習一個基於NIO實現的框架Netty,這是一個目前應用非常廣泛的通信框架。Netty

原创 聊一聊NIO到底優化了什麼

​前言 線程是一個勤勞的worker,作爲程序設計者需要爲每個線程充分準備好運行條件,把握好創建時機,才能讓線程時刻處於繁忙狀態,充分壓榨它的服務能力,從而高效地創造價值。 在互聯網時代,網絡通信是所有應用的基礎。我們常常用一個網絡應用每

原创 syncronized原理解析

​多線程進行併發訪問資源時需要進行鎖同步,否則會出現兩個線程之間的計算交疊造成邏輯錯誤。在java中常用的關鍵字syncronized就是用來進行加鎖同步的。下面我們就來聊一聊syncronized的實現原理。  有過C++開發經驗的同學

原创 TensorBoard源碼的小改動讓你的模型性能調優如絲般順滑

       利用Tensorflow進行訓練時,訓練性能是用戶經常 關心 的問題,訓練速度慢 導致模型迭代慢工作效率低。尤其在一些在線訓練場景會導致數據堆積,模型跟不上數據變化。解決性能問題的關鍵是快速定位到算法中的性能瓶頸 。在Ten

原创 如何放大FeatureColumn的能力

      FeatureColumn是Tensorflow 特徵 工程的一類接口在文本類算法中應用廣泛 。在文本類算法中特徵工程的目的是將文本轉化爲向量即Embedding操作)。FeatureColumn中提供了豐富的基本轉化操作用戶

原创 Tensorflow訓練中Worker如何動態伸縮

Tensorflow對於大部分算法用戶來說能夠滿足使用需求 。但是在日常使用過程中也發現有一些bug導致日常生產過程中的訓練異常中斷,影響使用 。尤其是在離線集羣進行大規模訓練時,集羣網絡負載大,機器環境惡劣,導致故障頻發,影響用戶體驗。

原创 如何理解Tensorflow的計算和數據模型抽象

        Tensorflow採用的是一種編譯執行的模式。即計算過程定義與計算執行分離的模式。用戶通過框架提供的 API 構建算法描述(一般使用 python 進行開發)。框架將用戶的算法定義編譯成由計算邏輯節點( OP ),數據輸