清理
This commit is contained in:
parent
94a203427f
commit
9eb6b942f1
17
README.md
17
README.md
@ -1,18 +1,7 @@
|
|||||||
# sakuya
|
# sakuya
|
||||||
你的智慧分身
|
你的智慧分身
|
||||||
|
|
||||||
1. 确立目标本质
|
1. 探寻变化规律, 规律即因果律
|
||||||
2. 模拟环境与规则
|
2. 认知外在环境, 认知内在目的, 内外即别与自我
|
||||||
3. 基本条件
|
3. 自我之存在, 自我之效用, 即为天命
|
||||||
|
|
||||||
实施:
|
|
||||||
1. 智力问题通用方案基础
|
|
||||||
2. 工具使用控制规则
|
|
||||||
3. 修正控制
|
|
||||||
4. 逻辑判断
|
|
||||||
|
|
||||||
例:
|
|
||||||
1. 要求实现某行为结果
|
|
||||||
2. 实施逻辑的组构
|
|
||||||
3. 实施条件的采集
|
|
||||||
4. 实施过程的模拟
|
|
||||||
|
81
index.html
81
index.html
@ -26,49 +26,46 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<card>
|
<header style="display: flex;">
|
||||||
<h2>基因列表</h2>
|
<card>
|
||||||
<ul>
|
<h2>基因列表</h2>
|
||||||
<li>101010</li>
|
<ul>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
</ul>
|
<li>101010</li>
|
||||||
</card>
|
</ul>
|
||||||
<card>
|
</card>
|
||||||
<h2>统计曲线</h2>
|
<card>
|
||||||
<ul>
|
<h2>统计曲线</h2>
|
||||||
<li>101010</li>
|
<ul>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
</ul>
|
<li>101010</li>
|
||||||
</card>
|
</ul>
|
||||||
<card>
|
</card>
|
||||||
<h2>I/O 输入数据/允许读取/接口触点</h2>
|
<card>
|
||||||
<ul>
|
<h2>I/O 输入数据/允许读取/接口触点</h2>
|
||||||
<li>101010</li>
|
<ul>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
<li>101010</li>
|
<li>101010</li>
|
||||||
</ul>
|
<li>101010</li>
|
||||||
</card>
|
</ul>
|
||||||
<card>
|
</card>
|
||||||
<h2>I/O 允许调用 | IO结构树</h2>
|
<card>
|
||||||
<ul>
|
<h2>I/O 允许调用 | IO结构树</h2>
|
||||||
<li>fs</li>
|
<ul>
|
||||||
<li>net</li>
|
<li>fs</li>
|
||||||
<li>input
|
<li>net</li>
|
||||||
type: text image video voice
|
<li>input
|
||||||
</li>
|
type: text image video voice
|
||||||
</ul>
|
</li>
|
||||||
</card>
|
</ul>
|
||||||
|
</card>
|
||||||
|
</header>
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>遗传迭代:正确基因构建保留</li>
|
|
||||||
<li>行动测试:具有自我行动力和获取外界反馈</li>
|
|
||||||
<li>输入大量语言语料, 对应目标理解耦</li>
|
|
||||||
</ul>
|
|
||||||
<script type="module" src="/main.js"></script>
|
<script type="module" src="/main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
100
main.js
100
main.js
@ -1,5 +1,4 @@
|
|||||||
import Matrix from './widgets/matrix.js'
|
import Matrix from './widgets/matrix.js'
|
||||||
import convolutionMatrix from './tools/convolutionMatrix.js'
|
|
||||||
|
|
||||||
const matrix = new Matrix(32, 32)
|
const matrix = new Matrix(32, 32)
|
||||||
document.body.appendChild(matrix.element)
|
document.body.appendChild(matrix.element)
|
||||||
@ -12,35 +11,6 @@ const image = new Image()
|
|||||||
image.src = 'img/00010-938548211.png'
|
image.src = 'img/00010-938548211.png'
|
||||||
image.onload = function () {
|
image.onload = function () {
|
||||||
context.drawImage(image, 0, 0)
|
context.drawImage(image, 0, 0)
|
||||||
//let handle = document.createElement("button")
|
|
||||||
//let create = document.createElement("button")
|
|
||||||
//document.body.appendChild(handle)
|
|
||||||
//document.body.appendChild(create)
|
|
||||||
//handle.innerText = "处理图片"
|
|
||||||
//create.innerText = "生成图片"
|
|
||||||
//handle.onclick = function () {
|
|
||||||
// let imgData = context.getImageData(0, 0, canvas.width, canvas.height)
|
|
||||||
// let average = 0
|
|
||||||
// //// 灰度处理
|
|
||||||
// //for (var i = 0; i < imgData.data.length; i += 4) {
|
|
||||||
// // average = Math.floor((imgData.data[i] + imgData.data[i + 1] + imgData.data[i + 2]) / 3); //将红、绿、蓝色值求平均值后得到灰度值
|
|
||||||
// // imgData.data[i] = imgData.data[i + 1] = imgData.data[i + 2] = average; //将每个像素点的色值重写
|
|
||||||
// // //matrix.setItem(i, 1, 125)
|
|
||||||
// // //console.log(imgData.data[i])
|
|
||||||
// // //matrix.setIndex(i / 4, imgData.data[i])
|
|
||||||
// //}
|
|
||||||
// //context.putImageData(imgData, 0, 0); //将处理后的图像数据重写至Canvas画布,此时画布中图像变为黑白色
|
|
||||||
//};
|
|
||||||
//create.onclick = function () { // 单击“生成图片”按钮,导出图片
|
|
||||||
// var imgSrc = canvas.toDataURL(); //获取图片的DataURL
|
|
||||||
// var newImg = new Image();
|
|
||||||
// var result = document.createElement("div");
|
|
||||||
// document.body.appendChild(result)
|
|
||||||
// newImg.src = imgSrc; //将图片路径赋值给src
|
|
||||||
// result.innerHTML = '';
|
|
||||||
// result.appendChild(newImg);
|
|
||||||
// //matrix.setItem(2, 0, 125)
|
|
||||||
//};
|
|
||||||
|
|
||||||
//获取图片数据对象
|
//获取图片数据对象
|
||||||
let imgData = context.getImageData(0, 0, canvas.width, canvas.height)
|
let imgData = context.getImageData(0, 0, canvas.width, canvas.height)
|
||||||
@ -62,78 +32,10 @@ image.onload = function () {
|
|||||||
}
|
}
|
||||||
context.putImageData(imgData, 0, 0);
|
context.putImageData(imgData, 0, 0);
|
||||||
|
|
||||||
//// 10 层滤波器
|
|
||||||
//for (let i = 0; i < 10; i++) {
|
|
||||||
// context.putImageData(convolutionMatrix(imgData, [
|
|
||||||
// //-1, -1, 0,
|
|
||||||
// //-1, 1, 1,
|
|
||||||
// //0, 1, 1,
|
|
||||||
// -2, -1, 0,
|
|
||||||
// 1, -1, 1,
|
|
||||||
// 8, 0, -4
|
|
||||||
// ]), 0, 0)
|
|
||||||
//}
|
|
||||||
|
|
||||||
// 将图像展示到矩阵中
|
// 将图像展示到矩阵中
|
||||||
for (var i = 0; i < imgData.data.length && i < 4096; i += 4) {
|
for (var i = 0; i < imgData.data.length && i < 4096; i += 4) {
|
||||||
matrix.setItem(i / 4, 0, imgData.data[i])
|
matrix.setItem(i / 4, 0, imgData.data[i])
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//let ctx = this
|
|
||||||
//for (var i = 0; i < imgData.data.length; i += 4) {
|
|
||||||
// imgData.data[i + 1] = 128
|
|
||||||
// imgData.data[i + 2] = 128
|
|
||||||
//}
|
|
||||||
//context.putImageData(imgData, 0, 0);
|
|
||||||
|
|
||||||
// /*
|
|
||||||
// * 参数中的 kernel 就是卷积核方阵,不过顺着排列成了一个九位的数组
|
|
||||||
// * 像是这样 [-1, -1, -1, -1, 8, -1, -1, -1, -1]
|
|
||||||
// * offset 对RGBA数值直接增加,表现为提高亮度
|
|
||||||
// * 下面的for循环
|
|
||||||
// * y 代表行,x 代表列,c 代表RGBA
|
|
||||||
// */
|
|
||||||
//convolutionMatrix(input, kernel, offset = 0) {
|
|
||||||
// let ctx = this.outputCtx
|
|
||||||
// let output = ctx.createImageData(input)
|
|
||||||
// let w = input.width,
|
|
||||||
// h = input.height
|
|
||||||
// let iD = input.data,
|
|
||||||
// oD = output.data
|
|
||||||
// for (let y = 1; y < h - 1; y += 1) {
|
|
||||||
// for (let x = 1; x < w - 1; x += 1) {
|
|
||||||
// for (let c = 0; c < 3; c += 1) {
|
|
||||||
// let i = (y * w + x) * 4 + c
|
|
||||||
// oD[i] =
|
|
||||||
// offset +
|
|
||||||
// (kernel[0] * iD[i - w * 4 - 4] +
|
|
||||||
// kernel[1] * iD[i - w * 4] +
|
|
||||||
// kernel[2] * iD[i - w * 4 + 4] +
|
|
||||||
// kernel[3] * iD[i - 4] +
|
|
||||||
// kernel[4] * iD[i] +
|
|
||||||
// kernel[5] * iD[i + 4] +
|
|
||||||
// kernel[6] * iD[i + w * 4 - 4] +
|
|
||||||
// kernel[7] * iD[i + w * 4] +
|
|
||||||
// kernel[8] * iD[i + w * 4 + 4]) /
|
|
||||||
// this.divisor
|
|
||||||
// }
|
|
||||||
// oD[(y * w + x) * 4 + 3] = 255
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// ctx.putImageData(output, 0, 0)
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
document.body.appendChild(canvas)
|
document.body.appendChild(canvas)
|
||||||
|
|
||||||
// 第一层输入层数量固定 32*32
|
|
||||||
// 通过 滤波器 保留特征, 到输出合并层时,
|
|
||||||
// 网络深度有限, 因而特征规模有限(但非常大)
|
|
||||||
// 如何作关键特征映射?
|
|
||||||
// 1. 存储常见特征, 如果符合, 滤波器将一组特征保留, 因而最后一层滤波器输出结果就是// 卷积结果为激活值, 算子为特征
|
|
||||||
// 2. 输入一张图像, 设定此图像输出结果
|
|
||||||
// 3. 输入另一张图, 设定此图像输出结果
|
|
||||||
|
|
||||||
// 4. 输入另一张图, 排除所有不同激活的
|
|
||||||
|
@ -3,19 +3,18 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "你的智慧分身(也许",
|
"description": "你的智慧分身(也许",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview"
|
||||||
"start": "node server/index.js"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"vite": "^2.6.4"
|
"vite": "^2.6.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"frappe-charts": "^1.6.2",
|
"frappe-charts": "^1.6.2",
|
||||||
"neataptic": "^1.4.7",
|
"neataptic": "^1.4.7"
|
||||||
"p5": "^1.4.0"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
'use strict'
|
|
||||||
|
|
||||||
// 规则
|
|
||||||
// 1. 持续运行
|
|
||||||
// 2. 周期回归
|
|
||||||
// 3. 锚点小模型
|
|
||||||
// 4. 基础规律模型
|
|
||||||
|
|
||||||
async function thinking(x, n = 0) {
|
|
||||||
if (x === 'x') return 'xD'
|
|
||||||
if (n > 1024) return x + 'De'
|
|
||||||
return await thinking(x, n + 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
async function main(tasks = []) {
|
|
||||||
while (true) {
|
|
||||||
const task = tasks.pop() // 取一个任务(后进先出)
|
|
||||||
// 执行任务(了解任务目标, 前提是认知目标和其宏观原理)
|
|
||||||
// 寻找方法(了解寻找方法的原理, 以及方法的优劣分辨)
|
|
||||||
// 尝试解法(分支扩展拟合, 或全局拟合)
|
|
||||||
// 执行一次thinking
|
|
||||||
//await thinking('x')
|
|
||||||
// 内存低于1GB时,终止进程
|
|
||||||
if (process.memoryUsage().rss > 1024 * 1024 * 1024) {
|
|
||||||
console.log('内存不足,进程终止')
|
|
||||||
process.exit()
|
|
||||||
}
|
|
||||||
// 每秒一次打印当前进程占用的内存
|
|
||||||
await new Promise((resolve) => setTimeout(resolve, 100))
|
|
||||||
const used = process.memoryUsage().heapUsed / 1024 / 1024
|
|
||||||
console.log(`内存使用 ${Math.round(used * 100) / 100} MB`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
@ -1,47 +0,0 @@
|
|||||||
/*
|
|
||||||
* 参数中的 kernel 就是卷积核方阵,不过顺着排列成了一个九位的数组
|
|
||||||
* 像是这样 [-1, -1, -1, -1, 8, -1, -1, -1, -1]
|
|
||||||
* offset 对RGBA数值直接增加,表现为提高亮度
|
|
||||||
* 下面的for循环
|
|
||||||
* y 代表行,x 代表列,c 代表RGBA
|
|
||||||
*/
|
|
||||||
|
|
||||||
export default function (image, kernel, offset = 0) {
|
|
||||||
let { width, height, data } = image
|
|
||||||
for (let y = 1; y < height - 1; y += 1) {
|
|
||||||
for (let x = 1; x < width - 1; x += 1) {
|
|
||||||
for (let c = 0; c < 3; c += 1) {
|
|
||||||
let i = (y * width + x) * 4 + c
|
|
||||||
data[i] =
|
|
||||||
offset +
|
|
||||||
(
|
|
||||||
kernel[0] * data[i - width * 4 - 4] +
|
|
||||||
kernel[1] * data[i - width * 4] +
|
|
||||||
kernel[2] * data[i - width * 4 + 4] +
|
|
||||||
kernel[3] * data[i - 4] +
|
|
||||||
kernel[4] * data[i] +
|
|
||||||
kernel[5] * data[i + 4] +
|
|
||||||
kernel[6] * data[i + width * 4 - 4] +
|
|
||||||
kernel[7] * data[i + width * 4] +
|
|
||||||
kernel[8] * data[i + width * 4 + 4]
|
|
||||||
) / 1
|
|
||||||
}
|
|
||||||
data[(y * width + x) * 4 + 3] = 255
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return image
|
|
||||||
}
|
|
||||||
|
|
||||||
// 卷积核
|
|
||||||
|
|
||||||
// 全连接层, 输入全部特征队列, 输入网络深度
|
|
||||||
function 全连接(arr, deep = 1) {
|
|
||||||
let list = []
|
|
||||||
for (let i = 0; i < arr.length; i++) {
|
|
||||||
list.push(arr[i])
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = 0; i < deep; i++) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -23,9 +23,6 @@ export default class {
|
|||||||
this.element.appendChild(el)
|
this.element.appendChild(el)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//HTMLElement.prototype.__defineGetter__("currentStyle", function () {
|
|
||||||
// return this.ownerDocument.defaultView.getComputedStyle(this, null);
|
|
||||||
//});
|
|
||||||
}
|
}
|
||||||
setItem(x, y, value) {
|
setItem(x, y, value) {
|
||||||
let color = `rgba(${value}, ${value}, ${value}, .8)`
|
let color = `rgba(${value}, ${value}, ${value}, .8)`
|
||||||
|
Loading…
Reference in New Issue
Block a user