数字旗手

电气化、自动化、数字化、智能化、智慧化

0%

上一篇着重介绍了如何使用JavaScript库来编写插件的前端UI和后端计算逻辑,这一节会介绍如何将计算后端切换为python语言,即计算逻辑完全使用python编写,充分利用python庞大的计算生态。 使用python开发计算插件有两种: (1)web-python:即python运行在浏览器中,其原理实际是应用了Pyodide这一工具,将python代码编译在浏览器中,但其缺点也很明显,首先是加载速度非常慢,因为第一次运行时需要将所用的python库都下载下来;然后其也无法应用整个python深度学习生态。 (2)native-python:该类型插件会链接一个本地的jupyter插件引
Read more »

参考文献 Build web-based plugins for image analysis 简介 在本文中,将制作一个基于Web网页的用于图像分析的ImJoy交互式插件。 使用 HTML/CSS/JS 制作GUI插件 如下插件实现了一个上传并显示图像的功能,具体函数说明详见下面代码的注释: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
Read more »

参考文献 ImJoy API 简介 ImJoy的每个插件都在自己的类似沙箱的容器环境中运行(如JavaScript插件的Web Worker 或iframe、Python插件的进程process)。这样可以避免其他插件的干扰并使ImJoy应用程序更加安全。 插件与ImJoy主程序或插件与插件之间的交互是通过一组API函数(ImJoy API)进行的。所有插件都可以访问到一个名为api的特殊对象。在Javascript中,api 是一个可以直接使用的全局对象。在Python中,可以通过调用 from imjoy import api 来导入它。有了这个对象,插件可以做很多事情,比如显示一个对话
Read more »

参考文献 Developing Plugins for ImJoy 上一篇文章中介绍了插件的文件格式,这一篇介绍如何进行实际的插件开发。 指定依赖 对于一个插件,其往往不是单一的功能实现,往往需要其他软件库的配合。 插件的依赖在其文件的config 块的requirements字段中进行指定。 根据不同的插件类型,可以指定不一样的依赖。 Web Worker 和 Window 插件 对于这两类插件,可以通过一个JavaScript库的url数组来指定依赖。这些库会被importScripts方法导入。 例如,要指定最新的 plotly.js 库,可以这样写: 1 "requireme
Read more »

参考文献 Developing Plugins for ImJoy 概览 ImJoy插件文件本质上是包括一系列自定义块的html文件(受.vue 格式启发)。 如下是一个插件文件的典型组成。需要注意的是,这些块的顺序无关紧要,因此可以将块打乱。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ** 该代码块以Json格式定义插件的属性** 《script lang="javascript"> ** 该代码块以JavaScript 或 Pyth
Read more »

参考文献 I2K Workshop Tutorial Developing Plugins for ImJoy 概述 开发ImJoy插件既简单又快速,可直接使用运行在web上的内置的代码编辑器,而不需要额外的 IDE 或编译器。 ImJoy 插件系统的主要功能有: (1)支持 Python 和 JavaScript * JavaScript 插件与安全沙箱隔离 * Python 插件在自己的进程中运行 * 使用 async/await 语法支持并发 API 调用 * 支持 Python 的虚拟环境和 pip 包 * 支持托管在 GitHub 或 CDN 上的 JavaScript
Read more »

这一篇主要介绍ImJoy中的核心概念。 参考文献: I2K Workshop Tutorial ImJoy插件 ImJoy 提供了一个灵活的框架来开发具有不同类型的 Web 或 Python 编程语言的插件。 有四种类型的插件,其可用于不同的目的: (1)Web 插件直接在浏览器中运行,支持如下三种类型: * Window (HTML/CSS/JS)(type=window) 插件,用于使用 HTML5/CSS 和 JavaScript 构建丰富的交互式用户界面; * Web Worker (JS)(type=web-worker) 插件,用于使用 JavaScript 或 WebA
Read more »

从该博文开始,将会对ImJoy这一开源深度学习计算平台做一详细解析。 简介 (这部分是对官方文档(在这里)的翻译理解) ImJoy是一个由插件驱动的混合计算平台,用于部署深度学习应用程序,例如高级图像分析工具。 ImJoy可以运行在跨操作系统的移动和桌面环境中,其中的插件可以运行在浏览器、本地主机、远程和云服务器中。 借助 ImJoy,凭借其灵活的插件系统和可共享的插件 URL,可以非常简单地向最终用户提供深度学习工具,免去了用户自己配置深度学习环境、安装应用程序的繁琐和痛苦。对于开发人员来说,也可以轻松地对自己现有的Python代码添加丰富的交互式 Web 界面,从而让自己的程序更加“触手
Read more »

本文基本是对A Gentle Introduction to Graph Neural Networks这篇文章的翻译理解。 (注意:原文中有很多可交互的动画,更有启发性。本文对原文中的有些图像进行了调整,方便初学者理解) 简介 (这部分大都来自于这篇参考文献) 曾有学者将本次人工智能浪潮的兴起归因于三个条件,分别是: (1)计算资源的快速发展(如GPU) (2)大量训练数据的可用性 (3)深度学习从欧氏空间数据中提取潜在特征的有效性 尽管传统的深度学习方法被应用在提取欧氏空间数据的特征方面取得了巨大的成功,但许多实际应用场景中的数据是从非欧式空间生成的,传统的深度学习方法在处理非欧式空间数
Read more »

本文解析一下ImagePy的三维画布。 以如下例子入手: 首先,原始图像是一个5乘5的方形图像,其中间是4乘4的白色,周围是一圈黑色。 由这张原始图根据距离变换得到右上角的高程图,继而对该高程图做三维可视化。 渲染插件 二维平面的三维可视化插件是这样写的: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Surface2D(Simple): title = '2D Surface' note = ['8-bit', '16-bit', 'float'] para = {'name':'undifine', 'sample':2, '
Read more »