Description: Draws binary random numbers (
[object Object]or[object Object]) from a Bernoulli distribution.[object Object]indicates the probability of generating[object Object]. The input tensor is used to specify the shape.Formula:
When
[object Object]is used,[object Object]and[object Object]in the formula correspond to those in the prototype of the first-phase API. When[object Object]is used,[object Object]and[object Object]in the formula correspond to[object Object]and[object Object]respectively in the prototype of the first-phase API.
[object Object]and[object Object]implement the same function in different ways. Select a proper operator based on your requirements.[object Object]: An output tensor object needs to be created to store the computation result.[object Object]: No output tensor object needs to be created, and the computation result is written in place to the input tensor's memory.
Each operator has calls. First,·
[object Object]or[object Object]is called to obtain the workspace size required for computation and the executor covering the operator computation process. Then,[object Object]or[object Object]is called to perform computation.[object Object][object Object][object Object][object Object]
Parameters:
[object Object](aclTensor*, computation input): which specifies the shape of[object Object]and is an aclTensor on the device. The shape supports 0 to 8 dimensions, and must be the same as that of[object Object]. It supports . The can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT16, FLOAT, or DOUBLE.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT16, FLOAT, DOUBLE, or BFLOAT16.
[object Object](aclTensor*, computation input):[object Object]in the formula, aclTensor on the device, which must meet the condition: 0 ≤ prob ≤ 1. The shape supports 0 to 8 dimensions. It supports . The must be the same as that of[object Object].- [object Object]Atlas training products[object Object]: The data type can be FLOAT16, FLOAT, or DOUBLE.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT16, FLOAT, DOUBLE, or BFLOAT16.
[object Object](int64_t, computation input): integer on the host, used to set the seed of the random number generator.[object Object](int64_t, computation input): integer on the host, used to set the random number offset.[object Object](aclTensor*, computation output):[object Object]in the formula, aclTensor on the device. The shape supports 0 to 8 dimensions and must be the same as that of[object Object]. The data type must be the same as that of[object Object]. It supports . The can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT16, FLOAT, or DOUBLE.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT16, FLOAT, DOUBLE, or BFLOAT16.
[object Object](uint64_t*, output): size of the workspace to be allocated on the device.[object Object](aclOpExecutor**, output): operator executor, covering the operator computation process.
Returns:
[object Object]: status code. For details, see .[object Object]
Parameters:
[object Object](void*, input): address of the workspace to be allocated on the device.[object Object](uint64_t, input): size of the workspace to be allocated on the device, which is obtained by calling[object Object].[object Object](aclOpExecutor*, input): operator executor, covering the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns:
Parameters:
[object Object](aclTensor*, computation input/output):[object Object]in the formula, aclTensor on the device. The shape supports 0 to 8 dimensions. It supports . The can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT16, FLOAT, DOUBLE, UINT8, INT8, INT16, INT32, INT64, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT16, FLOAT, DOUBLE, UINT8, INT8, INT16, INT32, INT64, BOOL, or BFLOAT16.
[object Object](aclTensor*, computation input):[object Object]in the formula, aclTensor on the device, which must meet the condition: 0 ≤ prob ≤ 1. The shape supports 0 to 8 dimensions. It supports . The can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT16, FLOAT, or DOUBLE.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT16, FLOAT, DOUBLE, or BFLOAT16.
[object Object](int64_t, computation input): integer on the host, used to set the seed of the random number generator.[object Object](int64_t, computation input): integer on the host, used to set the random number offset.[object Object](uint64_t*, output): size of the workspace to be allocated on the device.[object Object](aclOpExecutor**, output): operator executor, covering the operator computation process.
Returns:
[object Object]: status code. For details, see .[object Object]
Parameters:
[object Object](void*, input): address of the workspace to be allocated on the device.[object Object](uint64_t, input): size of the workspace to be allocated on the device, which is obtained by calling[object Object].[object Object](aclOpExecutor*, input): operator executor, covering the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns:
Deterministic computation:
[object Object]and[object Object]each default to a deterministic implementation.
The values of elements in the input
[object Object]must be within the range [0, 1].When the shapes of
[object Object]and[object Object](or[object Object]) do not match, only the corresponding elements are computed, and the behavior for the remaining data is undefined. For example, when the shape of[object Object]is [4, 2] and that of[object Object]is [4, 4], only the first 8 elements are computed and the output shape is [4, 4]. When the shape of[object Object]is [4, 4, 2] and that of[object Object]is [4, 4], only the first 16 elements are computed and the output shape is [4, 4].
The following example is for reference only. For details, see .
aclnnBernoulliTensor
aclnnInplaceBernoulliTensor