찾다
기술 주변기기일체 포함매우 강력한 Pytorch 작업! !

매우 강력한 Pytorch 작업! !

Jan 06, 2024 pm 09:02 PM
기능pytorch

안녕하세요, 샤오좡님! 만나서 반가워요! 제가 도와드릴 수 있는 일이 있나요?

지난 며칠간 딥러닝에 대한 콘텐츠를 공유해왔습니다.

또한 Pytorch에는 numpy 및 pandas와 유사한 몇 가지 일반적인 데이터 처리 기능이 있는데, 이는 똑같이 중요하고 흥미롭습니다!

마찬가지로 PyTorch는 데이터 처리 및 변환을 위한 다양한 기능도 제공합니다.

이제 가장 중요한 필수 기능을 살펴보겠습니다.

一个超强 Pytorch 操作!!

torch.Tensor

PyTorch에서 torch.Tensor는 텐서를 표현하는 데 사용되는 기본 데이터 구조입니다. 텐서는 숫자 및 부울 값과 같은 다양한 유형의 데이터를 포함할 수 있는 다차원 배열입니다. torch.Tensor의 생성자를 사용하여 텐서를 생성하거나 다른 함수를 사용하여 생성할 수 있습니다.

import torch# 创建一个空的张量empty_tensor = torch.Tensor()# 从列表创建张量data = [1, 2, 3, 4]tensor_from_list = torch.Tensor(data)

torch.from_numpy

는 NumPy 배열을 PyTorch 텐서로 변환하는 데 사용됩니다.

import numpy as npnumpy_array = np.array([1, 2, 3, 4])torch_tensor = torch.from_numpy(numpy_array)

torch.Tensor.item

은 요소가 하나만 포함된 텐서에서 Python 숫자 값을 추출하는 데 사용됩니다. 스칼라 텐서에 적용됩니다.

scalar_tensor = torch.tensor(5)scalar_value = scalar_tensor.item()

torch.Tensor.view

는 텐서의 모양을 변경하는 데 사용됩니다.

original_tensor = torch.randn(2, 3)# 2x3的随机张量reshaped_tensor = original_tensor.view(3, 2)# 将形状改变为3x2

torch.Tensor.to

는 텐서를 지정된 장치(예: CPU 또는 GPU)로 변환하는 데 사용됩니다.

cpu_tensor = torch.randn(3)gpu_tensor = cpu_tensor.to("cuda")# 将张量移动到GPU

torch.Tensor.numpy

텐서를 NumPy 배열로 변환합니다.

pytorch_tensor = torch.tensor([1, 2, 3])numpy_array = pytorch_tensor.numpy()

torch.nn.function.one_hot

은 정수 텐서의 원-핫 인코딩에 사용됩니다.

import torch.nn.functional as Finteger_tensor = torch.tensor([0, 2, 1])one_hot_encoded = F.one_hot(integer_tensor)

torch.utils.data.Dataset 및 torch.utils.data.DataLoader

는 데이터 세트를 로드하고 처리하는 데 사용됩니다. 이 두 클래스는 일반적으로 사용자 정의 데이터 세트 클래스와 함께 사용됩니다.

from torch.utils.data import Dataset, DataLoaderclass CustomDataset(Dataset):def __init__(self, data):self.data = datadef __len__(self):return len(self.data)def __getitem__(self, index):return self.data[index]dataset = CustomDataset([1, 2, 3, 4, 5])dataloader = DataLoader(dataset, batch_size=2, shuffle=True)

위 내용은 PyTorch에서 간단하게 사용되는 중요한 데이터 변환 함수들입니다.

딥 러닝 작업에서 데이터를 처리하고 준비하는 데 매우 유용합니다.

케이스

다음으로 이미지 분할 케이스를 만들어 보겠습니다.

이 경우 사전 훈련된 DeepLabV3 모델과 PASCAL VOC 데이터 세트를 사용하여 이미지 분할을 위해 PyTorch 및 torchvision 라이브러리를 사용합니다.

전체 코드에는 크기 조정, 자르기, 표준화 등과 같이 위에서 배운 내용이 포함됩니다.

import torchimport torchvision.transforms as transformsfrom torchvision import modelsfrom PIL import Imageimport matplotlib.pyplot as plt# 下载示例图像!wget -O example_image.jpg https://pytorch.org/assets/deeplab/deeplab1.jpg# 定义图像转换transform = transforms.Compose([transforms.Resize((256, 256)),# 调整大小transforms.ToTensor(), # 转换为张量transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])# 标准化])# 加载并转换图像image_path = 'example_image.jpg'image = Image.open(image_path).convert("RGB")input_tensor = transform(image).unsqueeze(0)# 添加批次维度# 加载预训练的DeepLabV3模型model = models.segmentation.deeplabv3_resnet101(pretrained=True)model.eval()# 进行图像分割with torch.no_grad():output = model(input_tensor)['out'][0]output_predictions = output.argmax(0)# 将预测结果转换为彩色图像def decode_segmap(image, nc=21):label_colors = np.array([(0, 0, 0),# 0: 背景 (128, 0, 0), (0, 128, 0), (128, 128, 0), (0, 0, 128), (128, 0, 128),# 1-5: 物体 (0, 128, 128), (128, 128, 128), (64, 0, 0), (192, 0, 0),# 6-9: 道路 (64, 128, 0), (192, 128, 0), (64, 0, 128), (192, 0, 128),# 10-13: 面部 (64, 128, 128), (192, 128, 128), (0, 64, 0), (128, 64, 0),# 14-17: 植物 (0, 192, 0), (128, 192, 0), (0, 64, 128)])# 18-20: 建筑r = np.zeros_like(image).astype(np.uint8)g = np.zeros_like(image).astype(np.uint8)b = np.zeros_like(image).astype(np.uint8)for l in range(0, nc):idx = image == lr[idx] = label_colors[l, 0]g[idx] = label_colors[l, 1]b[idx] = label_colors[l, 2]rgb = np.stack([r, g, b], axis=2)return rgb# 将预测结果转换为彩色图像output_rgb = decode_segmap(output_predictions.numpy())# 可视化原始图像和分割结果plt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)plt.imshow(image)plt.title('Original Image')plt.subplot(1, 2, 2)plt.imshow(output_rgb)plt.title('Segmentation Result')plt.show()

이 경우 먼저 크기 조정, 텐서로 변환, 정규화를 포함한 일련의 이미지 변환 기능을 정의합니다. 이러한 변환은 입력 이미지가 모델의 요구 사항을 충족하는지 확인합니다.

그런 다음 샘플 이미지가 로드되고 이러한 변환이 적용되었습니다.

다음으로 이미지 분할을 위해 torchvision에서 사전 훈련된 DeepLabV3 모델을 사용했습니다. 출력의 경우 예측 결과의 최대 인덱스를 추출하여 각 픽셀에 대한 예측 클래스를 얻었습니다.

마지막으로 예측 결과를 컬러 이미지로 변환하고 원본 이미지와 분할 결과를 시각화합니다.

一个超强 Pytorch 操作!!

이 사례는 입력 이미지가 모델의 입력 요구 사항을 충족하고 출력 결과를 쉽게 시각화할 수 있도록 이미지 분할 작업에서 이미지 변환 기능의 중요한 역할을 강조합니다.

위 내용은 매우 강력한 Pytorch 작업! !의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 51CTO.COM에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
신속한 엔지니어링에서 생각의 그래프는 무엇입니까?신속한 엔지니어링에서 생각의 그래프는 무엇입니까?Apr 13, 2025 am 11:53 AM

소개 신속한 엔지니어링에서 "Thought of Thought"는 그래프 이론을 사용하여 AI의 추론 과정을 구성하고 안내하는 새로운 접근법을 나타냅니다. 종종 선형 S와 관련된 전통적인 방법과 달리

Genai 에이전트와 함께 조직의 이메일 마케팅을 최적화하십시오Genai 에이전트와 함께 조직의 이메일 마케팅을 최적화하십시오Apr 13, 2025 am 11:44 AM

소개 축하해요! 당신은 성공적인 사업을 운영합니다. 웹 페이지, 소셜 미디어 캠페인, 웹 세미나, 컨퍼런스, 무료 리소스 및 기타 소스를 통해 매일 5000 개의 이메일 ID를 수집합니다. 다음 명백한 단계는입니다

Apache Pinot을 사용한 실시간 앱 성능 모니터링Apache Pinot을 사용한 실시간 앱 성능 모니터링Apr 13, 2025 am 11:40 AM

소개 오늘날의 빠르게 진행되는 소프트웨어 개발 환경에서 최적의 애플리케이션 성능이 중요합니다. 응답 시간, 오류율 및 자원 활용과 같은 실시간 메트릭 모니터링 메인이 도움이 될 수 있습니다.

Chatgpt가 10 억 명의 사용자를 쳤습니까? Openai CEO는'몇 주 만에 두 배가되었습니다Chatgpt가 10 억 명의 사용자를 쳤습니까? Openai CEO는'몇 주 만에 두 배가되었습니다Apr 13, 2025 am 11:23 AM

"얼마나 많은 사용자가 있습니까?" 그는 자극했다. Altman은“마지막으로 우리가 마지막으로 말한 것은 매주 5 억 명의 행위자이며 매우 빠르게 성장하고 있다고 생각합니다. 앤더슨은 계속해서“당신은 나에게 몇 주 만에 두 배가되었다고 말했습니다. “저는 그 개인이라고 말했습니다

Pixtral -12B : Mistral AI의 첫 번째 멀티 모드 모델 -Anuctics VidhyaPixtral -12B : Mistral AI의 첫 번째 멀티 모드 모델 -Anuctics VidhyaApr 13, 2025 am 11:20 AM

소개 Mistral은 최초의 멀티 모드 모델, 즉 Pixtral-12B-2409를 발표했습니다. 이 모델은 Mistral의 120 억 개의 매개 변수 인 NEMO 12B를 기반으로합니다. 이 모델을 차별화하는 것은 무엇입니까? 이제 이미지와 Tex를 모두 가져갈 수 있습니다

생성 AI 응용 프로그램을위한 에이전트 프레임 워크 - 분석 Vidhya생성 AI 응용 프로그램을위한 에이전트 프레임 워크 - 분석 VidhyaApr 13, 2025 am 11:13 AM

쿼리에 응답 할뿐만 아니라 자율적으로 정보를 모으고, 작업을 실행하며, 여러 유형의 데이터 (텍스트, 이미지 및 코드를 처리하는 AI 구동 조수가 있다고 상상해보십시오. 미래처럼 들리나요? 이것에서

금융 부문에서 생성 AI의 응용금융 부문에서 생성 AI의 응용Apr 13, 2025 am 11:12 AM

소개 금융 산업은 효율적인 거래 및 신용 가용성을 촉진함으로써 경제 성장을 주도하기 때문에 모든 국가 개발의 초석입니다. 거래가 발생하는 용이성 및 신용

온라인 학습 및 수동 공격 알고리즘 안내온라인 학습 및 수동 공격 알고리즘 안내Apr 13, 2025 am 11:09 AM

소개 소셜 미디어, 금융 거래 및 전자 상거래 플랫폼과 같은 소스에서 전례없는 속도로 데이터가 생성되고 있습니다. 이 지속적인 정보 스트림을 처리하는 것은 어려운 일이지만

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기