Open rachelglenn opened 5 days ago
Hello @rachelglenn,
I strongly advise against using PythonFunction for functionality with good native support. You can get tensors filled with random values with functions from dali.fn.random
. Elementwise squaring can be achieved by simply by multiplying the tensors, like:
# passing image as the argument will cause the function to return an array shaped like the image
perturbation = fn.random.uniform(image1, range=[0, 1]) # this already includes channel
pert_squared = perturbation * perturbation
new_image1 = image1 * pert_squared
new_image2 = image2 * pert_squared
BTW - it seems like the code is incorrect (swapped lines?):
for i in range(c):
h, w, c = image1.shape # c defined here, but loop over range(c) above
Still, if you like using torch_python_function
, just use torch.cuda.device
inside the callable.
Describe the question.
How do create new torch tensors and have them go to the correct device. I would like to do things like taking the square of the tensor? I found this example: https://docs.nvidia.com/deeplearning/dali/archives/dali_1_18_0/user-guide/docs/examples/custom_operations/python_operator.html
Check for duplicates