我对Tensorflow有点陌生,我开始使用Tensorflow.js进行项目,但遇到了一些问题:在许多领域(激活,优化程序,损失,指标等),我们可以使用字符串来引用适合我们需要的对象,对于某些对象,我们可以使用直接对象引用(sa tf.losses.sigmoidCrossEntropy),由于找不到所需的标识符,我发现此版本更容易,因为存放在什么地方?是否有所有可能标识符的列表? (我搜索了堆栈,谷歌和定量,但是什么也找不到...)
预先,谢谢!
答案 0 :(得分:1)
这不完全是“文档”,而且显然不是很容易找到,但至少它现在可以解决您的具体问题:https://github.com/tensorflow/tfjs/blob/f111dc03a87ab7664688011812beba4691bae455/tfjs-layers/src/keras_format/loss_config.ts#L16
同样,对于其他字符串标识符(激活、度量、约束、初始化器和正则化器),请参阅 https://github.com/tensorflow/tfjs/tree/master/tfjs-layers/src/keras_format 下的相邻文件。
通常这些应该与用于 Python Keras 的字符串标识符相匹配。例如,https://www.tensorflow.org/api_docs/python/tf/keras/losses/CategoricalCrossentropy 显示 name='categorical_crossentropy'
。然而,TFJS 的实现可能不是 Python Keras 的最新实现(特别是,过去一两年在 Python 方面添加的任何新损失等可能尚未在 TFJS 中实现)。
答案 1 :(得分:0)
在正式文档的losses下,您可以找到所有可能的损失函数。其他的都一样。
我不确定100%,但是其中的每一个都应该可以用作字符串引用。
答案 2 :(得分:0)
Tensorflow.js图层遵循Keras API,因此您可以在https://keras.io的文档中找到所有字符串标识符。例如,https://keras.io/activations/列出了“ softmax”,“ elu”等。
sebastian-speitel的答案也是正确的,TF.js API docs中显示的类/函数名称与字符串表示形式之间通常存在1:1对应。
一个皱纹:Keras使用snake_case字符串标识符,例如hard_sigmoid
,但是在TF.js中,我们需要lowerCamelCase,例如hardSigmoid
。 (大多数标识符是一个单词,在这种情况下没有区别。)
我们当然应该在TF.js API文档中对此进行更好的记录。跟踪https://github.com/tensorflow/tfjs/issues/1315。