LINQPad 中的 UnauthorizedAccessException
UnauthorizedAccessException in LINQPad
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
'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 中工作?
尝试以管理员身份运行您的程序。这可能是您的解决方案。
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
'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 中工作?
尝试以管理员身份运行您的程序。这可能是您的解决方案。