bbaudry/genart-classifier
GitHub: bbaudry/genart-classifier
分析 p5.js 草图中使用的 API 函数,生成向量表示和二维嵌入,用于分类和可视化生成艺术作品的技术特征。
Stars: 1 | Forks: 1
分析 p5 草图以确定它们使用了 p5 API 的哪些部分作为生成艺术作品意图的指标。为每个艺术作品构建一个向量,并计算这组向量的嵌入。
## index.js
读取放置在 ```artworks``` 文件夹中的所有文件。对于每个文件,确定它使用了哪些 p5 函数。p5 方法列表从[p5 端点](https://p5js.org/reference/data.json)声明的方法项列表中获取,并存储在 ```p5API.json``` 中。
生成三个输出
- p5InArtworks.json:每个输入艺术作品文件包含一个 JSON 对象。每个 JSON 对象的形式如下
```
{
"name":"name-of-input-file",
"p5functions":[
{
"name":layout "p5-function-name-used-in-input-file",
"id": "unique-integer-id-for-the-function"
}
]
}
```
- p5VectorsArtworks.json:每个输入艺术作品文件包含一个 JSON 对象。每个 JSON 对象的形式如下。在这个文件中,每个艺术作品的 p5functions 大小相同,因此可以进行降维
```
{
"name":"name-of-input-file",
"p5functions":[
{
"name": number-invocations-in-input-file
}
]
}
```
- artworksEmbedding.json 包含三个数组。所有数组大小相同,元素顺序一致
- 一个包含对应于二维空间中嵌入的 [x,y] 坐标的数组
- 一个标签数组
- 一个分类数组
```
{
"embedding":[
[x1,y1],
[x2,y2]
],
"labels":[
label1,
label2
],
"classifications": [
[
"non_interactive",
"randomness",
"synthesized_image",
"time_based",
"visual"
]
]
}
```
## embedding.html
为 artworksEmbedding.json 生成图表。具有相同分类的艺术作品在图表上具有相同的颜色
标签:Apex, API分析, GNU通用公共许可证, MITM代理, Node.js, p5.js, t-SNE, UMAP, 云安全监控, 代码分析, 凭证管理, 函数调用分析, 创意编程, 向量嵌入, 多模态安全, 数字艺术, 数据可视化, 文本挖掘, 机器学习, 特征提取, 生成艺术, 维度约简, 自定义脚本, 艺术研究, 艺术计算, 降维, 静态分析