torch_optim_delete Subroutine

public subroutine torch_optim_delete(optim)

Deallocate a Torch optimizer

Arguments

Type IntentOptional Attributes Name
type(torch_optim), intent(inout) :: optim

Optimizer to deallocate


Called by

proc~~torch_optim_delete~~CalledByGraph proc~torch_optim_delete torch_optim_delete interface~torch_delete torch_delete interface~torch_delete->proc~torch_optim_delete

Source Code

  subroutine torch_optim_delete(optim)
    type(torch_optim), intent(inout) :: optim  !! Optimizer to deallocate

    interface
      subroutine torch_optim_delete_c(optim_c) &
          bind(c, name = 'torch_optim_delete')
        use, intrinsic :: iso_c_binding, only : c_ptr
        implicit none
        type(c_ptr), value, intent(in) :: optim_c
      end subroutine torch_optim_delete_c
    end interface

    ! Call the destructor, if it hasn't already been called
    if (c_associated(optim%p)) then
      call torch_optim_delete_c(optim%p)
      optim%p = c_null_ptr
    end if
  end subroutine torch_optim_delete