Tutorials:弃用-请勿使用

  • b7_703490
    了解作者
  • 13.9MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-15 11:53
    上传日期
不推荐使用的教学语言-请勿使用 该存储库包含有关在OpenMined生态系统中使用和添加功能的分步教程。 在开始之前,您应该先完成我们的,这将使您进行设置并准备完成教程。 如果您遇到困难,最好的提问地点是#beginner 频道。 内容 开始您的梦想的理想场所是为项目的不同部分安装先决条件! 这些教程将引导您完成OpenMined生态系统中各个项目的设置过程。 网格 OpenMined Unity应用程序 过去了 初学者 在本教程中,我们将学习如何使用OpenMined Keras界面并构建我们的第一个神经网络。 PySyft 教程: 训练基本的神经网络(Keras接口) -视频教程:基本的网络 syft.js 教程: 训练MNIST神经网络 中间的 现在,让我们来构建深度学习框架的精髓。 我们将学习OpenMined张量的工作原理。 教程: 如何向张量添加(CPU)功能 视频
Tutorials-master.zip
内容介绍
# Beginner Tutorial Syft.js Syft.js is a JavaScript interface for creating and training models on the Open Mined backend. In this tutorial we will go over how to get Syft.js up and running with a demo model, and train it on the MNIST dataset to predict handwritten digits. ## Prerequisites If you have not yet installed the Open Mined backend, click the link bellow before continuing with this tutorial. You will also have to install ZeroMQ. - [Install and setup the Open Mined backend](../../../installation/OpenMined) - [ZeroMQ](https://www.npmjs.com/package/zmq) ## Installing NodeJS First you will need to install NodeJS v8 or higher (we have only tested on v8). You can download NodeJS from https://nodejs.org. ![https://nodejs.org](img/nodejsorg.png) ## Setting Up a NodeJS Project with NPM First open up a terminal window and make a new directory for your project. We will make a new directory in our home directory called `syftjs-tutorial`. Then navigate into the new directory you just made. commands: ``` ~ $ mkdir syftjs-tutorial ~ $ cd syftjs-tutorial ~/syftjs-tutorial $ ``` ![Create Project](img/syftjs-tutorial.png) Next we will use NPM to initialize our project. NPM will ask a few questions in this step, you can answer them as you see fit. We will just use the default answers. commands: ``` ~/syftjs-tutorial $ npm init ``` ![npm init](img/npm-init.png) After we have initialize our project using NPM, we will install a few dependancies: Syft.js and MNIST.js which we will be using in this tutorial. commands: ``` ~/syftjs-tutorial $ npm install --save OpenMined/syft.js Mike96Angelo/MNIST.js ``` ![npm init](img/npm-install.png) # Writing the Code Now that we have everything installed that we need, we will open our project directory in our favourite text editor. We will be using Atom in the tutorial. To get started we will need to make a new file, we will call it `mnist-model.js`. ![npm init](img/Atom-newfile.png) In our new file we will need to import the dependancies. ```JavaScript const mnist = require('mnist')(false) const syft = require('syft') ``` With `mnist` imported we can select our dataset. ```JavaScript let testSamples = 10000 let trainingSamples = 60000 let dataset = mnist(trainingSamples, testSamples) ``` For convenience we will wrap our code in a async function scope, as the Syft.js has an async promise style API. ```JavaScript async function train() { // all async code will go in here } ``` First we will need to pass our MNIST dataset to Syft.js by creating FloatTensors. ```JavaScript let training = { input: await syft.Tensor.FloatTensor.create(dataset.training.input), output: await syft.Tensor.FloatTensor.create(dataset.training.output) } let testing = { input: await syft.Tensor.FloatTensor.create(dataset.test.input), output: await syft.Tensor.FloatTensor.create(dataset.test.output) } ``` Next we can create a model that we can train using the MNIST dataset. ```JavaScript let model = await syft.Model.Sequential.create([ await syft.Model.Linear.create(784, 10) ]) ``` After we have a model, we can setup parameters for training. ```JavaScript let criterion = await syft.Model.CrossEntropyLoss.create() let optim = await syft.Optimizer.SGD.create(await model.parameters(), 0.06) let metric = ['accuracy'] let softmax = await syft.Model.Softmax.create() ``` Now we can train our model with the following bit of code. ```JavaScript let loss = await model.fit( training.input, training.output, criterion, optim, 32, // batch size 2, // interactions 1, // log interval metric, true // verbose ) console.log('Trained with a final loss:', loss); ``` With our model all trained, we can use it to predict handwritten digits from our test set. After we have a prediction we can draw a sample with the prediction and label to see how we did. ```JavaScript let perd = await softmax.forward( await model.forward(testing.input) ) // select a random test example to draw let select = Math.floor(testSamples * Math.random()) dataset.draw( (await testing.input.to_numpy()).slice(select * 784, (select + 1) * 784), (await perd.to_numpy()).slice(select * 10, (select + 1) * 10), (await testing.output.to_numpy()).slice(select * 10, (select + 1) * 10) ) ``` With all that code in the async function scope we will then need to call it. ```JavaScript train() .then(() => console.log('Done')) .catch((err) => console.log(err)) ``` ![npm init](img/code-file.png) - [click here for full code example](./mnist-model.js) ## Running the code! First we will need to run the Open Mined backend by opening the OpenMined project in Unity and hitting play. ![npm init](img/Unity-run.png) Then back in the Terminal window we will run our NodeJS app. commands ``` ~/syftjs-tutorial $ node mnist-model.js ``` ![npm init](img/start-training.png) Finally we have our result! ![npm init](img/finished-training.png)
评论
    相关推荐
    • 基于keras的口罩识别
      基于keras的口罩识别,其中包括了模型文件,直接python3 yolo_video.py --image就可以监测你的图片
    • mixture-of-experts:混合Keras专家层
      存储库包含实现专家模型的卷积和密集混合的Keras层。 专家层的密集混合物 文件DenseMoE.py包含一个DenseMoE.py层,该层实现了专家模型的密集混合: 该层可以与Dense层相同的方式使用。 它的一些主要论据如下: ...
    • keras:R与Keras的接口
      R与Keras的接口 是一种高级神经网络API,主要致力于实现快速实验。 能够以最小的延迟将想法...这意味着Keras基本上适合构建从存储网络到神经图灵机的任何深度学习模型。 有关完整的文档,请参阅软件包的网站,为 。
    • vizgradcam:vizgradcam是使用Keras模型可视化GradCAM的最快方法
      VizGradCam是在Keras模型中可视化GradCAM的最快方法。 GradCAM有助于提供经过训练的模型的视觉可解释性,并且可以作为确保工程师观察对某些推断结果有贡献的区域的重要步骤。 大多数教程或函数都具有类似的方法,...
    • keras:人类深度学习
      Keras:Python深度学习 正在施工:construction: 在不久的将来,该存储库将再次用于开发Keras代码库。 目前, 代码库是在上开发的,任何PR或问题都应指向那里。
    • deep_learning_using_keras_by_Fran-ois_Chollet-:此存储库包含FrançoisCho
      deep_learning_using_keras_by_François_Chollet- 该存储库包含FrançoisChollet的书中的学习内容
    • tensorkeras:该存储库包含有关Tensorflow和keras示例的代码
      张量 该存储库包含有关Tensorflow和keras示例的代码
    • AnomalyDetection-Keras
      存储库包含与我们的异常检测框架相关的代码,该框架使用针对在我们的污点状噪声损坏的图像上训练的自动编码器。 全文可在,并将很快在ICPR2020上发表。 下面的插图概述了使用我们的方法(AESc +染色)在MVTec AD...
    • 转移学习套件:Keras中的转移学习套件。 使用任何内置的Keras图像分类模型轻松进行转移学习!
      Keras的转移学习套件 消息 描述 该存储库用作Transfer Learning Suite。 目标是能够轻松使用任何内置的Keras图像分类模型执行转移学习! 欢迎提出任何改进此存储库的建议或您希望看到的任何新功能! 您也可以查看我...
    • keras-contrib:Keras社区的贡献
      随着Keras-Contrib中社区贡献的经过测试,使用,验证以及其效用得到证明,它们可以集成到Keras核心存储库中。 为了保持Keras简洁,干净且功能强大,只有最有用的功能才能使它进入Keras。 这个贡献库既是新功能的...