def setUpClass(cls): cls.model_dir = tempfile.TemporaryDirectory() cls.model = PyTorchNeuralNetwork( classifications=["rock", "paper", "scissors"], features=Features(Feature("image", int, 300 * 300)), predict=Feature("label", int, 1), directory=cls.model_dir.name, network=RockPaperScissorsModel, epochs=1, batch_size=32, imageSize=150, validation_split=0.2, loss=Loss, optimizer="Adam", enableGPU=True, )
def setUpClass(cls): cls.model_dir = tempfile.TemporaryDirectory() cls.model = PyTorchNeuralNetwork( classifications=["rock", "paper", "scissors"], features=Features(Feature("image", int, 300 * 300)), predict=Feature("label", int, 1), directory=cls.model_dir.name, network=RockPaperScissorsModel, epochs=1, batch_size=32, imageSize=150, validation_split=0.2, loss=Loss, optimizer="Adam", enableGPU=True, ) cls.traindir = asyncio.run( cached_download_unpack_archive( "https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps.zip", "rps.zip", "traindir", "c6a9119b0c6a0907b782bd99e04ce09a0924c0895df6a26bc6fb06baca4526f55e51f7156cceb4791cc65632d66085e8", ) ) cls.testdir = asyncio.run( cached_download_unpack_archive( "https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps-test-set.zip", "rps-test-set.zip", "testdir", "fc45a0ebe58b9aafc3cd5a60020fa042d3a19c26b0f820aee630b9602c8f53dd52fd40f35d44432dd031dea8f30a5f66", ) ) cls.predictdir = asyncio.run( cached_download_unpack_archive( "https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps-validation.zip", "rps-validation.zip", "predictdir", "375457bb95771ffeace2beedab877292d232f31e76502618d25e0d92a3e029d386429f52c771b05ae1c7229d2f5ecc29", ) )
x = self.linear(x.view(-1, 16 * 9 * 9)) return x RockPaperScissorsModel = ConvNet() Loss = CrossEntropyLossFunction() # Define the dffml model config model = PyTorchNeuralNetwork( classifications=["rock", "paper", "scissors"], features=Features(Feature("image", int, 300 * 300)), predict=Feature("label", int, 1), directory="rps_model", network=RockPaperScissorsModel, epochs=10, batch_size=32, imageSize=150, validation_split=0.2, loss=Loss, optimizer="Adam", enableGPU=True, patience=2, ) # Define source for training image dataset train_source = DirectorySource( foldername="rps", feature="image", labels=["rock", "paper", "scissors"], )