From 62a7a7d5db81629b4b94fb4224e547279f259076 Mon Sep 17 00:00:00 2001 From: Anthony Sarkis <18080164+anthony-sarkis@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:35:25 -0700 Subject: [PATCH 1/2] make pytorch optional --- sdk/diffgram/pytorch_diffgram/diffgram_pytorch_dataset.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sdk/diffgram/pytorch_diffgram/diffgram_pytorch_dataset.py b/sdk/diffgram/pytorch_diffgram/diffgram_pytorch_dataset.py index 79d01d4..7b24f21 100644 --- a/sdk/diffgram/pytorch_diffgram/diffgram_pytorch_dataset.py +++ b/sdk/diffgram/pytorch_diffgram/diffgram_pytorch_dataset.py @@ -1,7 +1,12 @@ from torch.utils.data import Dataset, DataLoader -import torch as torch # type: ignore from diffgram.core.diffgram_dataset_iterator import DiffgramDatasetIterator +try: + import torch as torch # type: ignore +except ModuleNotFoundError: + raise ModuleNotFoundError( + "'torch' module should be installed to convert the Dataset into torch (pytorch) format" + ) class DiffgramPytorchDataset(DiffgramDatasetIterator, Dataset): From 7015f69dc31a1f3fd290a135289a23042d29d11c Mon Sep 17 00:00:00 2001 From: Anthony Sarkis <18080164+anthony-sarkis@users.noreply.github.com> Date: Mon, 20 Sep 2021 11:47:56 -0700 Subject: [PATCH 2/2] idea: context of optional dependency --- sdk/diffgram/core/directory.py | 2 +- sdk/diffgram/core/sliced_directory.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sdk/diffgram/core/directory.py b/sdk/diffgram/core/directory.py index bbed368..54d1a2a 100644 --- a/sdk/diffgram/core/directory.py +++ b/sdk/diffgram/core/directory.py @@ -1,7 +1,6 @@ from diffgram.file.file import File from ..regular.regular import refresh_from_dict import logging -from diffgram.pytorch_diffgram.diffgram_pytorch_dataset import DiffgramPytorchDataset from diffgram.tensorflow_diffgram.diffgram_tensorflow_dataset import DiffgramTensorflowDataset from diffgram.core.diffgram_dataset_iterator import DiffgramDatasetIterator from multiprocessing.pool import ThreadPool as Pool @@ -155,6 +154,7 @@ def to_pytorch(self, transform = None): Transforms the file list inside the dataset into a pytorch dataset. :return: """ + from diffgram.pytorch_diffgram.diffgram_pytorch_dataset import DiffgramPytorchDataset file_id_list = self.file_id_list pytorch_dataset = DiffgramPytorchDataset( project = self.client, diff --git a/sdk/diffgram/core/sliced_directory.py b/sdk/diffgram/core/sliced_directory.py index 588e6f8..115bec7 100644 --- a/sdk/diffgram/core/sliced_directory.py +++ b/sdk/diffgram/core/sliced_directory.py @@ -1,5 +1,4 @@ from diffgram.core.directory import Directory -from diffgram.pytorch_diffgram.diffgram_pytorch_dataset import DiffgramPytorchDataset from diffgram.tensorflow_diffgram.diffgram_tensorflow_dataset import DiffgramTensorflowDataset import urllib @@ -37,7 +36,7 @@ def to_pytorch(self, transform = None): Transforms the file list inside the dataset into a pytorch dataset. :return: """ - + from diffgram.pytorch_diffgram.diffgram_pytorch_dataset import DiffgramPytorchDataset pytorch_dataset = DiffgramPytorchDataset( project = self.client, diffgram_file_id_list = self.file_id_list,