Nos últimos tutoriais, sempre começamos nosso gancho das funções do PyTorch e todos os nossos workers de forma manual. Isso pode ser um pouco chato quando você está apenas brincando/aprendendo sobre as interfaces. Então, daqui em diante, criaremos todas essas mesmas variáveis usando uma função especial bastante conveniente.
In [ ]:
import torch
import syft as sy
sy.create_sandbox(globals())
Como você pode ver acima, criamos vários workers virtuais e carregamos vários conjuntos de dados de teste, distribuindo-os pelos vários workers, para que possamos praticar o uso das técnicas de proteção de privacidade, como o Aprendizado Federado.
Criamos seis workers....
In [ ]:
workers
Também foram criadas várias variáveis globais que, inclusive, já podemos utilizar de forma imediata.
In [ ]:
hook
In [ ]:
bob
Um aspecto importante da ciência de dados que não é feita localmente é que queremos ser capazes de procurar por conjuntos de dados em uma máquina remota. Pense em um laboratório de pesquisa que deseja consultar, por exemplo, dados de radiografias e lesões de um hospital.
In [ ]:
torch.Tensor([1,2,3,4,5])
In [ ]:
x = torch.tensor([1,2,3,4,5]).tag("#fun", "#boston", "#housing").describe("The input datapoints to the boston housing dataset.")
y = torch.tensor([1,2,3,4,5]).tag("#fun", "#boston", "#housing").describe("The input datapoints to the boston housing dataset.")
z = torch.tensor([1,2,3,4,5]).tag("#fun", "#mnist",).describe("The images in the MNIST training dataset.")
In [ ]:
x
In [ ]:
x = x.send(bob)
y = y.send(bob)
z = z.send(bob)
# Procura por conjunto de dados que possuem as seguintes chaves, seja na etiqueta ou na descrição
results = bob.search(["#boston", "#housing"])
In [ ]:
results
In [ ]:
print(results[0].description)
In [ ]:
grid = sy.PrivateGridNetwork(*workers)
In [ ]:
results = grid.search("#boston")
In [ ]:
boston_data = grid.search("#boston","#data")
In [ ]:
boston_target = grid.search("#boston","#target")
In [ ]: