Skip to content

Tags: BeardedManZhao/algorithmStar

Tags

1.31

Toggle 1.31's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1.31 版本发布 (#20)

* update

* update

* update

* update

* update

* update

* update

* update

* update

* 1.26版本发布

* 1.27 版本发布

* update

* 1.28 版本发布

* Update README.md

* 修复向量不能自动刷新的问题

* 1.29 版本发布

* 帮助信息的获取使用备份链接

在 1.30 版本中会启用此链接

* 1.3.0版本开始开发

* update

* 1.30版本发布

* 1.31 版本开始开发

* update

* 1.31 版本发布

1.30

Toggle 1.30's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1.30版本发布 (#19)

* update

* update

* update

* update

* update

* update

* update

* update

* update

* 1.26版本发布

* 1.27 版本发布

* update

* 1.28 版本发布

* Update README.md

* 修复向量不能自动刷新的问题

* 1.29 版本发布

* 帮助信息的获取使用备份链接

在 1.30 版本中会启用此链接

* 1.3.0版本开始开发

* update

* 1.30版本发布

1.29

Toggle 1.29's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1.29 版本发布 (#18)

* 1.29 版本发布

1.28

Toggle 1.28's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
更新文档 (#16)

* Update README.md

1.27

Toggle 1.27's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1.26版本发布

# ![image](https://user-images.githubusercontent.com/113756063/194830221-abe24fcc-484b-4769-b3b7-ec6d8138f436.png) 算法之星-机器大脑

- Switch to [English Document](https://github.com/BeardedManZhao/algorithmStar/blob/Zhao-develop/src_code/README.md)
- knowledge base
  <a href="https://github.com/BeardedManZhao/algorithmStar/blob/main/KnowledgeDocument/knowledge%20base-Chinese.md">
  <img src = "https://user-images.githubusercontent.com/113756063/194838003-7ad14dac-b38c-4b57-a942-ba58f00baaf7.png"/>
  </a>

### 更新日志

* 框架版本:1.25 - 1.26
* 针对诸多的序列化操作,可以通过组件的方式来实现序列化,在IO组件库中已经集成了针对序列化对象IO的组件,下面就是一个示例。

```java
package zhao.algorithmMagic;

import zhao.algorithmMagic.io.*;
import zhao.algorithmMagic.operands.table.FDataFrame;
import zhao.algorithmMagic.operands.table.FinalCell;
import zhao.algorithmMagic.operands.table.SFDataFrame;
import zhao.algorithmMagic.operands.table.SingletonSeries;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class MAIN1 {
    public static void main(String[] args) throws IOException {
//        System.out.println(OperationAlgorithmManager.VERSION);
//        if (args.length > 0) {
//            ASDynamicLibrary.addDllDir(new File(args[0]));
//            System.out.println(OperationAlgorithmManager.getAlgorithmStarUrl());
//        } else {
//            System.out.println("感谢您的使用。");
//        }


        // 创建一个对象输出组件 TODO 首先需要创建对应的数据输出流
        final OutputStream outputStream = new FileOutputStream("C:\\Users\\zhao\\Downloads\\test\\res");
        // 然后开始构建组件
        final OutputComponent outputComponent = OutputObject.builder()
                // 在这里将数据流装载进去
                .addOutputArg(OutputObjectBuilder.OUT_STREAM, new FinalCell<>(outputStream))
                .create();
        // 启动组件
        if (outputComponent.open()) {
            // 如果启动成功就创建一个 DF 对象
            final FDataFrame select = SFDataFrame.select(
                    SingletonSeries.parse("name", "age"), 1
            );
            select.insert("zhao", "20").insert("tang", "22")
                    // 使用组件将 DF 对象输出
                    .into_outComponent(outputComponent);
        }
        // 使用完毕就关闭组件
        outputComponent.close();

        // 当然,TODO 您也可以通过 InputObject 对象来实现反序列化。
        //      如果您不习惯通过组件实现,也可以通过Java中的序列化方式来实现。
        final InputComponent inputObject = InputObject.builder()
                .addInputArg(InputObjectBuilder.IN_STREAM, new FinalCell<>(new FileInputStream("")))
                .create();
    }
}


```

* 通过简单的函数实现序列化,在 DF 对象中的 into_file 系列函数中,做了一些优化,其可以在最后接收一个布尔类型的参数来代表是否使用序列化输出。

```java
package zhao.algorithmMagic;

import zhao.algorithmMagic.io.InputComponent;
import zhao.algorithmMagic.io.InputObject;
import zhao.algorithmMagic.io.InputObjectBuilder;
import zhao.algorithmMagic.operands.table.DataFrame;
import zhao.algorithmMagic.operands.table.FinalCell;
import zhao.algorithmMagic.operands.table.SFDataFrame;

import java.io.FileInputStream;
import java.io.IOException;

public class MAIN1 {
    public static void main(String[] args) throws IOException {
        // 创建一个序列化数据输入组件
        final InputComponent inputObject = InputObject.builder()
                .addInputArg(InputObjectBuilder.IN_STREAM, new FinalCell<>(new FileInputStream("C:\\Users\\zhao\\Downloads\\test\\res")))
                .create();
        // 从其中获取到 DF 对象
        final DataFrame dataFrame = SFDataFrame.builder(inputObject);
        // 查看其中的数据 并通过最新的 简洁函数来实现序列化输出
        dataFrame
                // TODO into 函数的结尾参数为 true 代表二进制输出
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res1", true)
                // 查看内容
                .show();
        // TODO 当然 into 函数的使用方式与之前一样,只是可以选择性的在结尾加上 true / false
        //  如果最后不加布尔数值或者为 false 代表就是使用文本的方式来输出
        dataFrame
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res2")
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res3", ",")
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res4", false);
    }
}
```

* 新增颜色替换函数

```java
package zhao.algorithmMagic;

import zhao.algorithmMagic.operands.coordinate.IntegerCoordinateTwo;
import zhao.algorithmMagic.operands.matrix.ColorMatrix;
import zhao.algorithmMagic.operands.matrix.ImageMatrix;
import zhao.algorithmMagic.utils.transformation.Transformation;

import java.awt.*;

public class MAIN1 {
    public static void main(String[] args) {
        Color color = new Color(239, 216, 194);

        // 实例化图片
        ColorMatrix parse = ImageMatrix.parse("C:\\Users\\zhao\\Desktop\\Test\\无标题.jpg");
        parse.show("原图");

        // 进行颜色替换 将 标记的颜色做为被替换的颜色
        parse = parse.colorReplace(
                // 设置需要被替换的颜色
                color,
                // 设置替换操作进行时候的颜色转换逻辑 
                (Transformation<ColorMatrix, Color>) colors -> {
                    // 使用 RGB 的均值做为替换颜色
                    return new Color(
                            (int) colors.avg(ColorMatrix._R_),
                            (int) colors.avg(ColorMatrix._G_),
                            (int) colors.avg(ColorMatrix._B_)
                    );
                },
                // 设置替换操作回调函数中接收到的范围
                1024,
                // 设置颜色阈值 与 color 颜色值的差小于此值代表需要替换 此值为 [0, 255]
                32,
                new IntegerCoordinateTwo(453, 195),
                // 不使用拷贝,性能更好
                false
        );
        parse.show("替换之后的结果");
    }
}
```

### Version update date : 2023-12-15

1.26

Toggle 1.26's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1.26版本发布

# ![image](https://user-images.githubusercontent.com/113756063/194830221-abe24fcc-484b-4769-b3b7-ec6d8138f436.png) 算法之星-机器大脑

- Switch to [English Document](https://github.com/BeardedManZhao/algorithmStar/blob/Zhao-develop/src_code/README.md)
- knowledge base
  <a href="https://github.com/BeardedManZhao/algorithmStar/blob/main/KnowledgeDocument/knowledge%20base-Chinese.md">
  <img src = "https://user-images.githubusercontent.com/113756063/194838003-7ad14dac-b38c-4b57-a942-ba58f00baaf7.png"/>
  </a>

### 更新日志

* 框架版本:1.25 - 1.26
* 针对诸多的序列化操作,可以通过组件的方式来实现序列化,在IO组件库中已经集成了针对序列化对象IO的组件,下面就是一个示例。

```java
package zhao.algorithmMagic;

import zhao.algorithmMagic.io.*;
import zhao.algorithmMagic.operands.table.FDataFrame;
import zhao.algorithmMagic.operands.table.FinalCell;
import zhao.algorithmMagic.operands.table.SFDataFrame;
import zhao.algorithmMagic.operands.table.SingletonSeries;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class MAIN1 {
    public static void main(String[] args) throws IOException {
//        System.out.println(OperationAlgorithmManager.VERSION);
//        if (args.length > 0) {
//            ASDynamicLibrary.addDllDir(new File(args[0]));
//            System.out.println(OperationAlgorithmManager.getAlgorithmStarUrl());
//        } else {
//            System.out.println("感谢您的使用。");
//        }


        // 创建一个对象输出组件 TODO 首先需要创建对应的数据输出流
        final OutputStream outputStream = new FileOutputStream("C:\\Users\\zhao\\Downloads\\test\\res");
        // 然后开始构建组件
        final OutputComponent outputComponent = OutputObject.builder()
                // 在这里将数据流装载进去
                .addOutputArg(OutputObjectBuilder.OUT_STREAM, new FinalCell<>(outputStream))
                .create();
        // 启动组件
        if (outputComponent.open()) {
            // 如果启动成功就创建一个 DF 对象
            final FDataFrame select = SFDataFrame.select(
                    SingletonSeries.parse("name", "age"), 1
            );
            select.insert("zhao", "20").insert("tang", "22")
                    // 使用组件将 DF 对象输出
                    .into_outComponent(outputComponent);
        }
        // 使用完毕就关闭组件
        outputComponent.close();

        // 当然,TODO 您也可以通过 InputObject 对象来实现反序列化。
        //      如果您不习惯通过组件实现,也可以通过Java中的序列化方式来实现。
        final InputComponent inputObject = InputObject.builder()
                .addInputArg(InputObjectBuilder.IN_STREAM, new FinalCell<>(new FileInputStream("")))
                .create();
    }
}


```

* 通过简单的函数实现序列化,在 DF 对象中的 into_file 系列函数中,做了一些优化,其可以在最后接收一个布尔类型的参数来代表是否使用序列化输出。

```java
package zhao.algorithmMagic;

import zhao.algorithmMagic.io.InputComponent;
import zhao.algorithmMagic.io.InputObject;
import zhao.algorithmMagic.io.InputObjectBuilder;
import zhao.algorithmMagic.operands.table.DataFrame;
import zhao.algorithmMagic.operands.table.FinalCell;
import zhao.algorithmMagic.operands.table.SFDataFrame;

import java.io.FileInputStream;
import java.io.IOException;

public class MAIN1 {
    public static void main(String[] args) throws IOException {
        // 创建一个序列化数据输入组件
        final InputComponent inputObject = InputObject.builder()
                .addInputArg(InputObjectBuilder.IN_STREAM, new FinalCell<>(new FileInputStream("C:\\Users\\zhao\\Downloads\\test\\res")))
                .create();
        // 从其中获取到 DF 对象
        final DataFrame dataFrame = SFDataFrame.builder(inputObject);
        // 查看其中的数据 并通过最新的 简洁函数来实现序列化输出
        dataFrame
                // TODO into 函数的结尾参数为 true 代表二进制输出
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res1", true)
                // 查看内容
                .show();
        // TODO 当然 into 函数的使用方式与之前一样,只是可以选择性的在结尾加上 true / false
        //  如果最后不加布尔数值或者为 false 代表就是使用文本的方式来输出
        dataFrame
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res2")
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res3", ",")
                .into_outfile("C:\\Users\\zhao\\Downloads\\test\\res4", false);
    }
}
```

* 新增颜色替换函数

```java
package zhao.algorithmMagic;

import zhao.algorithmMagic.operands.coordinate.IntegerCoordinateTwo;
import zhao.algorithmMagic.operands.matrix.ColorMatrix;
import zhao.algorithmMagic.operands.matrix.ImageMatrix;
import zhao.algorithmMagic.utils.transformation.Transformation;

import java.awt.*;

public class MAIN1 {
    public static void main(String[] args) {
        Color color = new Color(239, 216, 194);

        // 实例化图片
        ColorMatrix parse = ImageMatrix.parse("C:\\Users\\zhao\\Desktop\\Test\\无标题.jpg");
        parse.show("原图");

        // 进行颜色替换 将 标记的颜色做为被替换的颜色
        parse = parse.colorReplace(
                // 设置需要被替换的颜色
                color,
                // 设置替换操作进行时候的颜色转换逻辑 
                (Transformation<ColorMatrix, Color>) colors -> {
                    // 使用 RGB 的均值做为替换颜色
                    return new Color(
                            (int) colors.avg(ColorMatrix._R_),
                            (int) colors.avg(ColorMatrix._G_),
                            (int) colors.avg(ColorMatrix._B_)
                    );
                },
                // 设置替换操作回调函数中接收到的范围
                1024,
                // 设置颜色阈值 与 color 颜色值的差小于此值代表需要替换 此值为 [0, 255]
                32,
                new IntegerCoordinateTwo(453, 195),
                // 不使用拷贝,性能更好
                false
        );
        parse.show("替换之后的结果");
    }
}
```

### Version update date : 2023-12-15

1.24

Toggle 1.24's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1.23版本更新 合并至 master (#10)


* 1.23版本更新完毕

* 新版本上传至 maven

1.22

Toggle 1.22's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1.22版本更新 合并至 master (#9)

* 文档更新

* 更新其中的1.17版本官方文档

* 开始新版本1.18的开发

开始开发任务

* update

* 新增矩阵 AGG 函数的逻辑实现

* update

* 新增边框对象

* update

* update

* 完善模板匹配函数的实现,增加步长,提升效率。

* update

* update

* 矩阵开始被归一化计算组件支持

* Update Case.md

* update

* 针对图像矩阵进行了合并功能的更新
* 针对IO数据流进行了优化。

* update

* 为AS库添加第三方数据源支持,并允许通过摄像头获取到图像数据

* update

* update

* update

* 更新HDFS数据IO组件

* update

* 1.18版本发布

* 1.18版本发布,新版本已发布至maven

* update log

* 更新日志中英文文档链接

* update

* 格式化文档

* Update Case.md

* Update Case.md

* Create sourceMaterial.md

* update

* 更新1.18版本的文档
* 更新主页文档

* 1.18-1.19版本开发开始

* update

* 新增 单例数据DF对象,其在存在大量重复数据的场景下,内存将节省很多倍。

* update

* update

* update

* update

* 支持目标外绝矩形,图像监督分类两种模型的计算。

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* update

* update

* 更新数学模型类
* 新增线性神经网络训练模型

* 数据输入设备对象升级

* Input HDFS 支持针对矩阵的输入操作
* 线性神经网络支持进行训练时的附加Task。

* update

* update

* 1.19版本上传至maven

* 更新1.19版本代码,准备合并分支

* update

* Update sourceMaterial.md

* update

* 更新了单层卷积神经网络模型

* update

* update

* Update sourceMaterial.md

* update

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update ASMath.java

* update

* 更新本地文件数据集加载器

* Update Share.java

* update

* 为所有的操作数对象添加不同维度形状的数据类型计算操作,例如其支持矩阵与向量或单个数值之间的计算操作。

* 为所有的操作数对象都提供了父类到子类的转换实现。

* 拓展灵活性

* 矩阵与矩阵空间操作数对象支持维度重设操作。

* 针对图像矩阵对象,新增了均值池化操作

* 图像矩阵新增均值池化与分通道均值池化的常量处理模块。

* 准备更新1.20版本

* 更新文档

* 矩阵灵活性提升,单例池灵活性提升

* 支持 fill 一个数值类型的矩阵对象
* 支持 clear 单例单元格数据存储池

* update

* 1.20版本发布

* 新版本更新

* 更新新版本文档

* 1.21版本开始开发

* 1.21版本正式发布

* 修复所有在2023年06月10号前所有已知的bug。

* 1.21版本开始开发

* 新增图像矩阵对象

* 新增 哈希图像矩阵对象,其能够实现像素点的复用,降低内存占用。

* update

* 更新API操作方式

* update

* 针对 DF 数据类型进行了更加完善的优化。

* 1.22版本上传

* 针对1.21版本的一个优化版本与小更新。

1.20

Toggle 1.20's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1.20版本发布 (#8)

* 文档更新

* 更新其中的1.17版本官方文档

* 开始新版本1.18的开发

开始开发任务

* update

* 新增矩阵 AGG 函数的逻辑实现

* update

* 新增边框对象

* update

* update

* 完善模板匹配函数的实现,增加步长,提升效率。

* update

* update

* 矩阵开始被归一化计算组件支持

* Update Case.md

* update

* 针对图像矩阵进行了合并功能的更新
* 针对IO数据流进行了优化。

* update

* 为AS库添加第三方数据源支持,并允许通过摄像头获取到图像数据

* update

* update

* update

* 更新HDFS数据IO组件

* update

* 1.18版本发布

* 1.18版本发布,新版本已发布至maven

* update log

* 更新日志中英文文档链接

* update

* 格式化文档

* Update Case.md

* Update Case.md

* Create sourceMaterial.md

* update

* 更新1.18版本的文档
* 更新主页文档

* 1.18-1.19版本开发开始

* update

* 新增 单例数据DF对象,其在存在大量重复数据的场景下,内存将节省很多倍。

* update

* update

* update

* update

* 支持目标外绝矩形,图像监督分类两种模型的计算。

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* update

* update

* 更新数学模型类
* 新增线性神经网络训练模型

* 数据输入设备对象升级

* Input HDFS 支持针对矩阵的输入操作
* 线性神经网络支持进行训练时的附加Task。

* update

* update

* 1.19版本上传至maven

* 更新1.19版本代码,准备合并分支

* update

* Update sourceMaterial.md

* update

* 更新了单层卷积神经网络模型

* update

* update

* Update sourceMaterial.md

* update

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update ASMath.java

* update

* 更新本地文件数据集加载器

* Update Share.java

* update

* 为所有的操作数对象添加不同维度形状的数据类型计算操作,例如其支持矩阵与向量或单个数值之间的计算操作。

* 为所有的操作数对象都提供了父类到子类的转换实现。

* 拓展灵活性

* 矩阵与矩阵空间操作数对象支持维度重设操作。

* 针对图像矩阵对象,新增了均值池化操作

* 图像矩阵新增均值池化与分通道均值池化的常量处理模块。

* 准备更新1.20版本

* 更新文档

* 矩阵灵活性提升,单例池灵活性提升

* 支持 fill 一个数值类型的矩阵对象
* 支持 clear 单例单元格数据存储池

* update

* 1.20版本发布

* 新版本更新

* 更新新版本文档

1.19

Toggle 1.19's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Zhao develop (#7) 更新

* 文档更新

* 更新其中的1.17版本官方文档

* 开始新版本1.18的开发

开始开发任务

* update

* 新增矩阵 AGG 函数的逻辑实现

* update

* 新增边框对象

* update

* update

* 完善模板匹配函数的实现,增加步长,提升效率。

* update

* update

* 矩阵开始被归一化计算组件支持

* Update Case.md

* update

* 针对图像矩阵进行了合并功能的更新
* 针对IO数据流进行了优化。

* update

* 为AS库添加第三方数据源支持,并允许通过摄像头获取到图像数据

* update

* update

* update

* 更新HDFS数据IO组件

* update

* 1.18版本发布

* 1.18版本发布,新版本已发布至maven

* update log

* 更新日志中英文文档链接

* update

* 格式化文档

* Update Case.md

* Update Case.md

* Create sourceMaterial.md

* update

* 更新1.18版本的文档
* 更新主页文档

* 1.18-1.19版本开发开始

* update

* 新增 单例数据DF对象,其在存在大量重复数据的场景下,内存将节省很多倍。

* update

* update

* update

* update

* 支持目标外绝矩形,图像监督分类两种模型的计算。

* Update sourceMaterial.md

* Update sourceMaterial.md

* Update sourceMaterial.md

* update

* update

* 更新数学模型类
* 新增线性神经网络训练模型

* 数据输入设备对象升级

* Input HDFS 支持针对矩阵的输入操作
* 线性神经网络支持进行训练时的附加Task。

* update

* update

* 1.19版本上传至maven

* 更新1.19版本代码,准备合并分支