pytorch tensor 와 ndarray 변환 에 관 한 정 리 를 자세히 설명 합 니 다.

1701 단어 pytorchtensorndarray
pytorch 를 사용 할 때 두 가지 데이터 형식 인 tensor 와 ndarray 간 의 전환 이 자주 언급 됩 니 다.여기 서 두 가지 형식의 전환 을 요약 합 니 다.
1.tensor cpu 와 tensor gpu 사이 의 전환:
tensor cpu 에서 tensor gpu 로 전환:
tensor_gpu = tensor_cpu.cuda()

>>> tensor_cpu = torch.ones((2,2))
tensor([[1., 1.],
    [1., 1.]])
>>> tensor_gpu = tensor_cpu.cuda()
tensor([[1., 1.],
    [1., 1.]], device='cuda:0')
tensor gpu 에서 tensor cpu 로 전환:
tensor_cpu = tensor_gpu.cuda()

>>> tensor_gpu.cpu()
tensor([[1., 1.],
    [1., 1.]])
2.tensor cpu 와 ndarray 사이 의 전환:
tensor cpu 에서 ndarray 로 전환:

>>> np_array= tensor_cpu.numpy()
array([[1., 1.],
    [1., 1.]], dtype=float32)
ndarray 에서 tensor cpu 로 전환:
주:ndarray 의 기본 정밀 도 는 64 비트,Tensor 의 기본 정밀 도 는 32 비트 이기 때문에 Tensor 를 통 해 직접 변환 하면 정밀 도 는 32 비트 로 변 환 됩 니 다.fromnumpy 방식 은 원래 64 비트 정 도 를 유지 합 니 다.

>>> torch.from_numpy(np.ones((2,2)))
tensor([[1., 1.],
    [1., 1.]], dtype=torch.float64)
>>> torch.Tensor(np.ones((2,2)))
tensor([[1., 1.],
    [1., 1.]])
3.tensor cpu 와 scalar 사이 의 전환:
간단 한 분류 네트워크 만 훈련 했다 면 하나의 견본 에 대한 출력 은 스칼라(scalar)일 것 이다.

>>>torch.ones((1,1)).item()
1.0
한 장의 그림 을 통 해 세 사람의 전환 방식 을 설명 한다.

pytorch tensor 와 ndarray 변환 에 관 한 정 리 를 상세 하 게 설명 하 는 이 글 은 여기까지 입 니 다.더 많은 pytorch tensor 와 ndarray 변환 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기