小编Nav*_*avi的帖子

OCR与Aforge.net的感知神经网络回答错误

我试图用C#中的Aforge.Net通过感知器进行OCR.我用九个30*30二进制图片学习了我的网络.但在结果中,它将所有内容都识别为"C".这是代码:

    private void button1_Click(object sender, EventArgs e)
    {
        AForge.Neuro.ActivationNetwork network = new AForge.Neuro.ActivationNetwork(new AForge.Neuro.BipolarSigmoidFunction(2), 900, 3);
        network.Randomize();
        AForge.Neuro.Learning.PerceptronLearning learning = new AForge.Neuro.Learning.PerceptronLearning(network);
        learning.LearningRate =1 ;
        double[][] input = new double[9][];
        for (int i = 0; i < 9; i++)
        {
            input[i] = new double[900];
        }
   //Reading A images
        for (int i = 1; i <= 3; i++)
        {
            Bitmap a = AForge.Imaging.Image.FromFile(path + "\\a" + i + ".bmp");
            for (int j = 0; j < 30; j++)
                for (int k …
Run Code Online (Sandbox Code Playgroud)

c# ocr artificial-intelligence aforge neural-network

8
推荐指数
1
解决办法
5838
查看次数

在两个集合中共享一个参考变量

我正在尝试在两个集合中共享一个参考:一个地图和一个列表。我想推送到这两个集合,并从列表的后面删除,也从地图中删除。这段代码只是展示我想要做的一个示例,它甚至没有编译!

实现此目标的正确范例是什么?最佳实践是什么样的保证?

use std::collections::{HashMap, LinkedList};

struct Data {
    url: String,
    access: u64,
}

struct Holder {
    list: LinkedList<Box<Data>>,
    map: HashMap<String, Box<Data>>,
}

impl Holder {
    fn push(&mut self, d: Data) {
        let boxed = Box::new(d);
        self.list.push_back(boxed);
        self.map.insert(d.url.to_owned(), boxed);
    }

    fn remove_last(&mut self) {
        if let Some(v) = self.list.back() {
            self.map.remove(&v.url);
        }
        self.list.pop_back();
    }
}
Run Code Online (Sandbox Code Playgroud)

rust

5
推荐指数
1
解决办法
352
查看次数

标签 统计

aforge ×1

artificial-intelligence ×1

c# ×1

neural-network ×1

ocr ×1

rust ×1