Sequential model = keras.Sequential();
model.add(keras.Input(shape: (1, inputSize)));
model.add(keras.layers.LSTM(units: numberOfHiddenUnits, kernel_initializer: 'glorot_uiform', return_sequences: true));
kernel_initializer: 'glorot_uiform'<-- causes compile fails :
Program.cs(71,89,71,89): error CS1012: Too many characters in character literal
我希望 kernel_initializer 能够像文档建议的自动完成广告一样工作。
您在使用 TensorFlow.NET 的 C# 代码中遇到的错误与语法问题有关,而不是与
kernel_initializer
参数本身的问题有关。
在C#中,单引号用于字符文字(代表单个字符),而双引号用于字符串文字。错误消息
error CS1012: Too many characters in character literal
表示您对字符串使用了单引号,在您的情况下为 'glorot_uniform'
。
要解决此问题,您应该对字符串文字使用双引号。所以,正确的代码行应该是:
model.add(keras.layers.LSTM(units: numberOfHiddenUnits, kernel_initializer: "glorot_uniform", return_sequences: true));
现在
"glorot_uniform"
现在用双引号引起来。这应该可以解决编译错误。
我希望这有帮助