【发布时间】:2017-12-07 08:15:23
【问题描述】:
public void LoadVectors(string model_file)
{
var file = model_file;
using (var br = new BinaryReader(File.Open(file, FileMode.Open)))
{
wordCount = br.ReadInt32();
Dimensions = br.ReadInt32();
for (var w = 0; w < wordCount; w++)
{
var word = br.ReadString();
var vec = new float[Dimensions];
for (var d = 0; d < Dimensions; d++) vec[d] = br.ReadSingle();
Normalise(vec);
model[word] = vec;
}
}
}
我在这个函数中调用这个函数
private static void Train()
{
// Train vector model and save to file.
var word2vec = new Word2Vec();
word2vec.Train("corpus.txt", "model.bin");
}
corpus.txt 是我已经训练过的东西,在这个问题中并不重要,model.bin 是我需要阅读的东西。
但是当我打电话给这个时,它给了我一个UnauthorizedAccessException at
'C:\Program Files (x86)\LINQPad5\model.bin' 这不是model.bin 的正确位置
当我尝试通过这样做来放置model.bin 的绝对位置时
word2vec.Train("corpus.txt", @"D:\Users\user\Documents\Visual Studio 2017\Projects\word2VecTest\word2VecTest\bin\Debug\model.bin");
它给了我同样的错误。
如何设置此位置以在 LINQPad 中工作?
【问题讨论】:
-
你的例子没有意义。您的第一个函数称为 LoadVectors 并接受一个参数,但您正在调用一个名为 Train 的函数,该函数接受两个参数。