|
|
|
|
公众号矩阵

IntelliJ IDEA启动画面的秘密:当编程遇到艺术

细心的同学会发现 Intellij IDEA 每次发版本的时候都会有不同的启动界面背景,都很比较抽象的艺术图像。

作者: 码农小胖哥来源: 码农小胖哥|2021-01-13 09:16

 

细心的同学会发现 Intellij IDEA 每次发版本的时候都会有不同的启动界面背景,都很比较抽象的艺术图像。

2020.3的启动界面背景

JetBrains 的其它产品也有自己独特的设计。

但是这背后是怎么实现的、有什么寓意却很少有人知道。今天让胖哥来带你解开这个答案。

编码的艺术

编码是一门艺术。说到这里你会很容易想到这肯定是利用编程实现的。是的,这里的图像生成器技术用了到机器学习中的神经网络技术。这些生成的图像本质上是前馈神经网络映射函数描绘的!基于传递给网络的确切数据,加上一些预设的生成算法(遗传算法),让这些图片看上去很“顺眼”。目前 JetBrains 提供了可视生成器,你可以根据自己的喜好来生成桌面背景。

神经网络图片生成体验

只需访问Desktop Art 页面或直接转到code2art.jetbrains.com,就可以自己设计上述风格的桌面。打开后在在下拉列表中选择IntelliJ IDEA或MPS 之类的产品后,只需单击Prescribed按钮,它将以该产品的所有动画效果创建初始屏幕。

选择Mixer,稍等片刻我们可以看到 9 张不同的图像,每个图像都是由神经网络分别生成的。你可以在其中混合随意的想法,调整色彩,选取目标,并根据你自己的设定创作出反映内在自我的艺术色彩。

如果这 9 张图像都不符合您的口味,你可以点击Regenerate获取 9 张新的新图像,这些图像在某种程度上都与以前的图像有所不同。如果您已经喜欢某些现有图像,你可以点击选中它们,然后按Crossbreed按钮将选中的图像混合生成一些新图像,重复多次,直到找到理想的图像。通过其它一些选项,你可以导出静态图片、动图甚至 MP4 视频。

小试牛刀

技术细节

从技术上讲,该图片生成器的服务器端分为几个部分:

  • 使用TensorFlow构建的基于神经网络的图像生成引擎。
  • 视频渲染引擎,可从图像生成视频。
  • 场景存储服务。
  • 任务队列,用于在服务器组件之间分配 CPU 和 GPU 密集型计算任务。
  • 混合器 Mixer–通过遗传算法演化生成图像的工具。
    • 在Mixer 模式和图像生成引擎之上还建立了另一个神经网络,该神经网络可以汇总用户的偏好来预测哪些图像更可能是美丽的,这也是神经网络能够越来越了解人类喜好的根本。

本文转载自微信公众号「码农小胖哥」,可以通过以下二维码关注。转载本文请联系码农小胖哥公众号。

【编辑推荐】

  1. 什么是最适合初学者的编程语言?
  2. 2021年值得学习的10种编程语言,第一名竟然是Rust
  3. 3.5.Linux中的信号-Linux应用编程和网络编程第5部分
  4. 零基础学习C++语言系列大全之QT容器,QT键盘,QT文件编程视频教程
  5. Shell脚本编程基础(CentOS7)-Linux零基础入门系列课程第七章
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

3人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

30人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

209人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微