为什么我的程序在读取/写入文件时丢掉最重要的数字?

用户名

我正在编写两个函数来将4维矢量保存到文件中,然后将矢量读回到文件中。

void saveLayer(string filename, int layer){
    ofstream ofile(filename, ios::out | ios::trunc);
    vector<vector<vector<vector<double>>>> oweights(layers[layer]->weights);
    for(vector<vector<vector<double>>> stratg:oweights){
        for(vector<vector<double>>layeri:stratg){
            for(vector<double> neuronq:layeri){
                for(double q:neuronq){
                    ofile<<setprecision(15)<<q;
                }
            }
        }
    }
    vector<vector<vector<double>>> obiases=layers[layer]->biases;
    for(vector<vector<double>>z:obiases){
        for(vector<double> w:z){
            for(double q:w){
                ofile<<setprecision(15)<<q;
            }
        }
    }
    ofile.close();
}

void loadLayer(string filename, int nS, vector<int> layerStruct){
    vector<vector<vector<vector<double>>>> newWeights;
    vector<vector<vector<double>>> newBiases;
    ifstream ifile(filename, ios::in);
    for(int i=0; i<nS; i++){
        vector<vector<vector<double>>> netWeights;
        for(int z=1; z<layerStruct.size(); z++){
            vector<vector<double>> layerWeights;
            for(int x=0; x<layerStruct[z]; x++){
                vector<double> neuronWeights;
                for(int y=0; y<layerStruct[z-1]; y++){
                    double w;
                    ifile>>w;
                    neuronWeights.push_back(w);
                }
                layerWeights.push_back(neuronWeights);
            }
            netWeights.push_back(layerWeights);
        }
        newWeights.push_back(netWeights);
    }
    for(int i=0; i<nS; i++){
        vector<vector<double>> netBiases;
        for(int z=1; z<layerStruct.size(); z++){
            vector<double> layerBiases;
            for(int x=0; x<layerStruct[z]; x++){
                double neuronBias;
                ifile>>neuronBias;
                layerBiases.push_back(neuronBias);
            }
            netBiases.push_back(layerBiases);
        }
        newBiases.push_back(netBiases);
    }
    layers[0]->numStrats=nS;
    layers[0]->weights=newWeights;
    layers[0]->biases=newBiases;
    ifile.close();
}

我的问题是,当应该写入或读取例如1.2345时,它将读取或写入0.2345,从而删除了最高有效数字。我不知道问题是否出在保存或加载功能上。我会很感激对此的任何解释。

用户名

写入输出文件的数据之间没有定界符。给定1.234和5.678

ofile<<setprecision(15)<<q;

将1.2345.678写入输出文件。您的所有数字都被拼凑成一个大块。回读时

ifile>>w;

不知道一个数字应该在哪里结束而另一个数字应该在哪里开始。结果,它会进行读取,直到找到无法成为的一部分的字符为止double

例如。1.2345.678会被读取到1.2345,直到找到一秒'.'浮点数不能有2个小数位(即使这是一个小数double),因此解析器将停止,将.678保留在流中以进行下一次读取,并返回1.2345。下次读取.678左右并返回0.678。

现在,最重要的数字已经神秘地消失了,因为adouble只能显示15位数字,所以您可能不会注意到它被固定在前一个数字的16位数字上。

可能的解决方案:在每个数字后写一个空格。

ofile<<setprecision(15)<<q << ' ';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在读取或写入文件时将字节数组初始化为1024?

来自分类Dev

为什么getline正在读取我的整个unicode文件

来自分类Dev

为什么在读取文件时剪切变量?

来自分类Dev

为什么在读取.json文件时出现此错误?

来自分类Dev

为什么在读取txt文件时出现笑脸字符?

来自分类Dev

Python:为什么在读取并写入另一个文件后文件为空?

来自分类Dev

Python:为什么在读取并写入另一个文件后文件为空?

来自分类Dev

为什么在读取文件时出现运行时错误

来自分类Dev

什么是最重要的Windows .dll文件?

来自分类Dev

为什么我的程序不会读取最大的数字?

来自分类Dev

为什么在读取混合数据时ifstream失败?

来自分类Dev

为什么在读取内置REPLY变量时跳过空白?

来自分类Dev

为什么在写入文件时此Haskell程序挂起?

来自分类Dev

为什么readfile()在读取php文件时表现奇怪,但在文本文件上工作正常

来自分类Dev

为什么在读取UTF-8文件时BOM会停留在周围?

来自分类Dev

为什么我的程序无法从文件中读取数据

来自分类Dev

当我从C中的文件中读取数字时,为什么会收到警告,忽略“ fscanf”的返回值?

来自分类Dev

在读取文件,计算和写入另一个文件时使用结构

来自分类Dev

为什么在读取模式和写入模式可用时使用 JSON 格式?

来自分类Dev

在读取和写入40GB CSV时出现MemoryError ...我的漏洞在哪里?

来自分类Dev

PHP脚本在读取和写入文本文件时不起作用

来自分类Dev

PHP脚本在读取和写入文本文件时不起作用

来自分类Dev

为什么我无法从Delphi VCL应用程序读取和写入Amazon S3?

来自分类Dev

当我使用env文件时,我在读取vars时不确定

来自分类Dev

为什么仅读取和写入文件权限时执行我的php-script?

来自分类Dev

为什么我无法写入mmaped文件

来自分类Dev

为什么我的StreamWriter无法写入文件?

来自分类Dev

为什么我的代码未写入文件?

来自分类Dev

在读取文件时使用realloc()

Related 相关文章

  1. 1

    为什么在读取或写入文件时将字节数组初始化为1024?

  2. 2

    为什么getline正在读取我的整个unicode文件

  3. 3

    为什么在读取文件时剪切变量?

  4. 4

    为什么在读取.json文件时出现此错误?

  5. 5

    为什么在读取txt文件时出现笑脸字符?

  6. 6

    Python:为什么在读取并写入另一个文件后文件为空?

  7. 7

    Python:为什么在读取并写入另一个文件后文件为空?

  8. 8

    为什么在读取文件时出现运行时错误

  9. 9

    什么是最重要的Windows .dll文件?

  10. 10

    为什么我的程序不会读取最大的数字?

  11. 11

    为什么在读取混合数据时ifstream失败?

  12. 12

    为什么在读取内置REPLY变量时跳过空白?

  13. 13

    为什么在写入文件时此Haskell程序挂起?

  14. 14

    为什么readfile()在读取php文件时表现奇怪,但在文本文件上工作正常

  15. 15

    为什么在读取UTF-8文件时BOM会停留在周围?

  16. 16

    为什么我的程序无法从文件中读取数据

  17. 17

    当我从C中的文件中读取数字时,为什么会收到警告,忽略“ fscanf”的返回值?

  18. 18

    在读取文件,计算和写入另一个文件时使用结构

  19. 19

    为什么在读取模式和写入模式可用时使用 JSON 格式?

  20. 20

    在读取和写入40GB CSV时出现MemoryError ...我的漏洞在哪里?

  21. 21

    PHP脚本在读取和写入文本文件时不起作用

  22. 22

    PHP脚本在读取和写入文本文件时不起作用

  23. 23

    为什么我无法从Delphi VCL应用程序读取和写入Amazon S3?

  24. 24

    当我使用env文件时,我在读取vars时不确定

  25. 25

    为什么仅读取和写入文件权限时执行我的php-script?

  26. 26

    为什么我无法写入mmaped文件

  27. 27

    为什么我的StreamWriter无法写入文件?

  28. 28

    为什么我的代码未写入文件?

  29. 29

    在读取文件时使用realloc()

热门标签

归档