Here是描述TensorFlow tf.string_to_hash_bucket_fast
的页面。 (版本目前是1.3。)它说定义此函数的文件是tensorflow/python/ops/gen_string_ops.py
,它似乎不存在于github上。 gen
可能意味着它已生成。好。
这个功能的确切定义是什么(即如果我想在另一个平台上,我可以重新实现它)?
答案 0 :(得分:1)
是的,一旦您安装Tensorflow就会生成该文件,因此您可以在该路径中的机器中找到它。对我而言,它位于:
/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_string_ops.py
PS:遇到错误时可以看到这样的路径。
可靠的定义是:
def string_to_hash_bucket(string_tensor, num_buckets, name=None):
r"""Converts each string in the input Tensor to its hash mod by a number of buckets.
The hash function is deterministic on the content of the string within the
process.
Note that the hash function may change from time to time.
This functionality will be deprecated and it's recommended to use
`tf.string_to_hash_bucket_fast()` or `tf.string_to_hash_bucket_strong()`.
Args:
string_tensor: A `Tensor` of type `string`.
num_buckets: An `int` that is `>= 1`. The number of buckets.
name: A name for the operation (optional).
Returns:
A `Tensor` of type `int64`.
A Tensor of the same shape as the input `string_tensor`.
"""
result = _op_def_lib.apply_op("StringToHashBucket",
string_tensor=string_tensor,
num_buckets=num_buckets, name=name)
return result
您可以在/usr/local/lib/python2.7/dist-packages/
下跟踪您想要的内容(具体取决于您的设置)。绝对认为Python定义不是真正的定义,真正的定义是前一个答案中阐述的C ++。
答案 1 :(得分:0)
根据string_to_hash_bucket_op.cc的注册信息。
我认为tf.string_to_hash_bucket_fast
的实现位于StringToHashBucketOp类,来自相应的.h文件。
答案 2 :(得分:0)
仅以之前的所有答案为基础:最终,您需要遵循以下导入内容,并包括:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/hash.cc