IntelliJ IDEA啟動介面的秘密:當程式設計遇到藝術
細心的同學會發現Intellij IDEA每次發版本的時候都會有不同的啟動介面背景,都很比較抽象的藝術影象。
JetBrains的其它產品也有自己獨特的設計。
但是這背後是怎麼實現的、有什麼寓意卻很少有人知道。今天讓胖哥來帶你解開這個答案。
編碼的藝術
編碼是一門藝術。說到這裡你會很容易想到這肯定是利用程式設計實現的。是的,這裡的影象生成器技術用了到機器學習中的神經網路技術。這些生成的影象本質上是前饋神經網路對映函式描繪的!基於傳遞給網路的確切資料,加上一些預設的生成演算法(
遺傳演算法
),讓這些圖片看上去很“順眼”。目前JetBrains提供了可視生成器,你可以根據自己的喜好來生成桌面背景。
神經網路圖片生成體驗
只需訪問code2art。jetbrains。com,就可以自己設計上述風格的桌面。開啟後在在下拉列表中選擇
IntelliJ IDEA
或
MPS之
類的產品後,只需單擊
Prescribed
按鈕,它將以該產品的所有動畫效果建立初始螢幕。
選擇
Mixer
,稍等片刻我們可以看到9張不同的影象,每個影象都是由神經網路分別生成的。 你可以在其中混合隨意的想法,調整色彩,選取目標,並根據你自己的設定創作出反映內在自我的藝術色彩。
如果這9張影象都不符合您的口味,你可以點選
Regenerate
獲取9張新的新影象,這些影象在某種程度上都與以前的影象有所不同。如果您已經喜歡某些現有影象,你可以點選選中它們,然後按
Crossbreed
按鈕將選中的影象混合生成一些新影象,重複多次,直到找到理想的影象。透過其它一些選項,你可以匯出靜態圖片、動圖甚至MP4影片。
技術細節
從技術上講,該圖片生成器的伺服器端分為幾個部分:
使用
TensorFlow
構建的基於神經網路的影象生成引擎。
影片渲染引擎,可從影象生成影片。
場景儲存服務。
任務佇列,用於在伺服器元件之間分配CPU和GPU密集型計算任務。
混合器Mixer–透過遺傳演算法演化生成影象的工具。
在Mixer模式和影象生成引擎之上還建立了另一個神經網路,該神經網路可以彙總使用者的偏好來預測哪些影象更可能是美麗的,這也是神經網路能夠越來越瞭解人類喜好的根本。
有興趣的可以瞭解一下。
有時候不得不感嘆一下一些偉大的產品的設計思維都是具有創造性和藝術性的,什麼時候我們中國的程式設計師能有這種外部環境,沒有KPI,沒有996,什麼時候我們才能做出偉大的產品。