Giter Site home page Giter Site logo

nfvlabs / openmano Goto Github PK

View Code? Open in Web Editor NEW
181.0 86.0 76.0 3.57 MB

Openmano is an open source project that provides a practical implementation of the reference architecture for Management & Orchestration under standardization at ETSI’s NFV ISG

License: Apache License 2.0

CSS 0.62% PHP 4.05% HTML 0.03% JavaScript 17.26% Shell 14.35% Python 63.57% Roff 0.13%

openmano's Introduction

This page is obsolete.

The project OpenMANO has been contributed to the open source community project Open Source MANO (OSM), hosted by ETSI.

Go to the URL osm.etsi.org to know more about OSM.


openmano

OpenMANO is an open source project that provides a practical implementation of the reference architecture for Management & Orchestration under standardization at ETSI’s NFV ISG (NFV MANO). It consists of three main SW components:

  • openvim: reference implementation of an NFV VIM (Virtualised Infrastructure Manager). It interfaces with the compute nodes in the NFV Infrastructure and an openflow controller in order to provide computing and networking capabilities and to deploy virtual machines. It offers a northbound interface, based on REST (openvim API), where enhanced cloud services are offered including the creation, deletion and management of images, flavors, instances and networks. The implementation follows the recommendations in NFV-PER001.
  • openmano: reference implementation of an NFV-O (Network Functions Virtualisation Orchestrator). It interfaces with an NFV VIM through its API and offers a northbound interface, based on REST (openmano API), where NFV services are offered including the creation and deletion of VNF templates, VNF instances, network service templates and network service instances.
  • openmano-gui: web GUI to interact with openmano server, through its northbound API, in a friendly way.

openmano-nfv

#Releases

The relevant releases/branches in openmano are the following:

  • v0.4: current stable release for normal use. Supports several datacenters, openstack as a VIM, opendaylight as openflow controller
  • v0.3: old stable release version
  • master: development branch intended for contributors, with new features that will be incorporated into the stable release

#Quick installation of current release (v0.4)

  • Download e.g. a Ubuntu Server 14.04 LTS (ubuntu/reverse). Other tested distributions are Ubuntu Desktop 64bits 14.04.2 LTS (osboxes/osboxes.org), CentOS 7 (osboxes/osboxes.org)

  • Start the VM and execute the following command in a terminal:

      wget https://github.com/nfvlabs/openmano/raw/v0.4/scripts/install-openmano.sh
      chmod +x install-openmano.sh
      sudo ./install-openmano.sh [<database-root-user> [<database-password>]]
      #NOTE: you can provide optionally the DB root user and password.
    

Manual installation can be done following these instructions.

#Full documentation

#License Check the License file.

#Contact For bug reports or clarification, contact [email protected]

openmano's People

Contributors

alf-tierno avatar alogracia avatar andreybleme avatar fjramons avatar gerardo-garcia avatar pamonmo avatar wwwtyro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openmano's Issues

'vpci' field should be optional in bridge-ifaces in VNFD

Currently, the field seems to be mandatory, while it should be optional
It has been shown up when trying to add the example Linux VNF.

Workaround: include in the VNFD the field vpci with a value of "0000:00:11:0"
Possible solutions: change the XML schema, change the assignment in the code

docker as vim

Hi...
i'm working on college project about vnf's service chain so i want to use docker(more specific... kubernetes) as vim for my test bed, is there any plan to use docker as vim in openmano? if not can you give me a hit how to do it?
thanks in advance

VNF descriptors for typical cloud VMs still require the field "numas"

When trying to create the Linux VNF in the example, it fails because it expects the "numas field:
openmano vnf-create vnfs/examples/linux.yaml

The result is an internal server error, because openmano always tries to assign the field numas.

Workaround is: add the field "numas" as an empty list in the VNFD.
Possible solution: modify the code to check if the field "numas" exists for a VNFC before the assignment. If it does not exist, assign an empty list.

Developer mode issue

Hi, i'm trying to install openmano with:

  • vm ubuntu server as suggested as controller
  • my host as compute

when i try to add the host by the command
./openvim host-add
i insert data requested by the script but it remains blocked until the reset of connection:

Exception POST at 'http://localhost:9085/openvim/hosts' HTTPConnectionPool(host='localhost', port=9085): Max retries exceeded with url: /openvim/hosts (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

Analysing the openvim log file i've founded the following statement

2016-03-07 13:49:14,378 paramiko.transport DEBUG: using kex diffie-hellman-grou$
2016-03-07 13:49:14,436 paramiko.transport DEBUG: Switch to new keys ...
2016-03-07 13:49:14,458 paramiko.transport DEBUG: Adding ssh-rsa host key for 1$
2016-03-07 13:49:14,464 paramiko.transport DEBUG: Trying discovered key 64907a2$
2016-03-07 13:49:14,473 paramiko.transport DEBUG: userauth is OK
2016-03-07 13:49:14,600 paramiko.transport INFO: Authentication (publickey) suc$
[email protected]'s password: 127.0.0.1 - - [07/Mar/2016 13:53:21] "POST /openv$
127.0.0.1 - - [07/Mar/2016 13:57:24] "POST /openvim/hosts HTTP/1.1" 401 133

That seems an authorization problem, but i've followed the guide for configuring the compute also in the part relating to the rsa keys, in fact from the controller i can ssh directly into compute node without the password insertion, so i think that the keys are correctly configured.

How to solve ?? Thanks

Openvim net-create. Networks based on default libvirt network or macvtap are created erroneously as bridge networks

When creating a network like the one below, with a provide:physical "default" or "macvtap:em1", the result is a network based on bridges:

cat net-example0.yaml
network:
name: default
type: bridge_man
provider:physical: default
shared: true

openvim net-create net-example0.yaml

openvim net-list -vvv
35671f9e-e2b4-11e4-a3c9-52540032c4fa default
{
"status": "ACTIVE",
"provider:physical": "bridge:virbrMan2",
"name": "default",
"admin_state_up": true,
"provider:vlan": 2002,
"shared": true,
"type": "bridge_man",
"id": "35671f9e-e2b4-11e4-a3c9-52540032c4fa"
}

Test script "initopenmano.sh" fails due to unknown error

When executing the script in a CentOS, either directly or with source it exits before the end. First error appears in line 41. Apparently the internal function is_valid_uuid has some error.

$ ./openmano/scripts/initopenmano.sh
WARNING: openmano and openvim database content will be lost!!! Continue(y/N)y
Stopping openmano
stopping floodlight ... done
stopping openvim ... done
stopping openmano ... done
Initializing databases
loading /home/tef-gcto/openmano/openvim/database_utils/vim_db_structure.sql
migrage database version
Detected openvim version 0.2.03
upgrade database from version 0.1 to version 0.2
ALTER TABLE of_ports_pci_correspondence resources_port ports ADD COLUMN switch_dpid
UPDATE procedure UpdateSwitchPort
loading /home/tef-gcto/openmano/openvim/database_utils/host_ranking.sql
loading /home/tef-gcto/openmano/openvim/database_utils/of_ports_pci_correspondence.sql
loading /home/tef-gcto/openmano/openvim/database_utils/nets.sql
loading /home/tef-gcto/openmano/openmano/database_utils/mano_db_structure.sql
migrage database version
Detected openmano version 0.2.4
upgrade database from version 0.0 to version 0.1
CREATE TABLE schema_version
Starting openmano
starting floodlight ... running on 'screen -x flow'. Logging at '/home/tef-gcto/openmano/logs/openflow.0'
starting openvim ... running on 'screen -x vim'. Logging at '/home/tef-gcto/openmano/logs/openvim.0'
starting openmano ... running on 'screen -x mano'. Logging at '/home/tef-gcto/openmano/logs/openmano.0'
Adding example hosts
2c947698-143f-11e5-bcfb-525400271be1 fake-host-0 Created
2ccfcf4a-143f-11e5-bcfb-525400271be1 fake-host-1 Created
2d0ce3b2-143f-11e5-bcfb-525400271be1 fake-host-2 Created
2d4b93b4-143f-11e5-bcfb-525400271be1 fake-host-3 Created
Adding example nets
2d6f2f68-143f-11e5-ba62-525400271be1 default Created
2d88dfee-143f-11e5-ba62-525400271be1 macvtap:em1 Created
2da2675c-143f-11e5-ba62-525400271be1 shared_bridge_net Created
2dbc2534-143f-11e5-ba62-525400271be1 data_net Created
Creating openvim tenant 'admin'
2dd6194e-143f-11e5-ba62-525400271be1
Adding openvim environment variables to ~/.bashrc
Creating openmano tenant 'mytenant'
./openmano/scripts/initopenmano.sh: line 41: return: -1: invalid option
return: usage: return [n]
fail

The same happens when executing with source:

$ source openmano/scripts/initopenmano.sh
WARNING: openmano and openvim database content will be lost!!! Continue(y/N)y
Stopping openmano
stopping floodlight ... done
stopping openvim ... done
stopping openmano ... done
Initializing databases
loading /home/tef-gcto/openmano/openvim/database_utils/vim_db_structure.sql
migrage database version
Detected openvim version 0.2.03
upgrade database from version 0.1 to version 0.2
ALTER TABLE of_ports_pci_correspondence resources_port ports ADD COLUMN switch_dpid
UPDATE procedure UpdateSwitchPort
loading /home/tef-gcto/openmano/openvim/database_utils/host_ranking.sql
loading /home/tef-gcto/openmano/openvim/database_utils/of_ports_pci_correspondence.sql
loading /home/tef-gcto/openmano/openvim/database_utils/nets.sql
loading /home/tef-gcto/openmano/openmano/database_utils/mano_db_structure.sql
migrage database version
Detected openmano version 0.2.4
upgrade database from version 0.0 to version 0.1
CREATE TABLE schema_version
Starting openmano
starting floodlight ... running on 'screen -x flow'. Logging at '/home/tef-gcto/openmano/logs/openflow.0'
starting openvim ... running on 'screen -x vim'. Logging at '/home/tef-gcto/openmano/logs/openvim.0'
starting openmano ... running on 'screen -x mano'. Logging at '/home/tef-gcto/openmano/logs/openmano.0'
Adding example hosts
62a4a68a-1440-11e5-b5b0-525400271be1 fake-host-0 Created
62e03a60-1440-11e5-b5b0-525400271be1 fake-host-1 Created
631d3cf8-1440-11e5-b5b0-525400271be1 fake-host-2 Created
635b1136-1440-11e5-b5b0-525400271be1 fake-host-3 Created
Adding example nets
637e5e52-1440-11e5-a1bb-525400271be1 default Created
6397cdd8-1440-11e5-a1bb-525400271be1 macvtap:em1 Created
63b1768e-1440-11e5-a1bb-525400271be1 shared_bridge_net Created
63cb44ce-1440-11e5-a1bb-525400271be1 data_net Created
Creating openvim tenant 'admin'
63e5f36e-1440-11e5-a1bb-525400271be1
Adding openvim environment variables to ~/.bashrc
Creating openmano tenant 'mytenant'
-bash: return: -1: invalid option
return: usage: return [n]
fail
-bash: return: -1: invalid option
return: usage: return [n]
Connection
Creating datacenter 'mydc' in openmano
-bash: return: -1: invalid option
return: usage: return [n]
fail
-bash: return: -1: invalid option
return: usage: return [n]
Connection
Adding openmano environment variables to ~/.bashrc
Attaching openmano tenant to the datacenter and the openvim tenant
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Updating external nets in openmano
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Adding particular configuration - VNFs
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Adding particular configuration - Scenarios
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Adding particular configuration - Scenario instances
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]
Connection error: not possible to contact OPENMANO-SERVER (openmanod)
fail
-bash: return: -1: invalid option
return: usage: return [n]

DONE

Internal server error during VNF creation due to JSON schema validation

This issue has appeared during the creation of a VNF. When checking with the VIM if the image existed previously (same path as a previous image), it parses the response and in case a field is too short (image name), then bottle exits with an Internal Server Error.

This can be solved by changing the schema of the image name from nameshort_schema to name_schema. This patch will be applied, while the final solution requires further investigation, since it could happen more frequently with other fields.

jsPlum & jQuery depend on active internet connection

jsPlum and jQuery are pointing to internet copies. This doesn't affect as most of development and test machines do have internet but if we can use a local copy instead it can one less thing to care about and can help running in offline mode.

error creating external networks with some yaml examples

Hi

When i try to create some external networks using 'openvim net-create' and examples in ./test/networks/ i have bellow errors

adminuser@ubuntu1410server:/openmano/openvim$ openvim net-create test/networks/net-example1.yaml
Error yaml/json format error at 'test/networks/net-example1.yaml' at position: (6:19)
adminuser@ubuntu1410server:
/openmano/openvim$ openvim net-create test/networks/net-example2.yaml
Error yaml/json format error at 'test/networks/net-example2.yaml' at position: (6:19)
adminuser@ubuntu1410server:~/openmano/openvim$ openvim net-create test/networks/net-example3.yaml
Error yaml/json format error at 'test/networks/net-example3.yaml' at position: (6:19)

Creation of a tenant in openvim providing a name is confusing

When you run 'openvim tenant-create --name admin', openvim asks for the tenant name.

This is supposed to be correct, since the option --name overwrites the name provided in a file with the description of the tenant.
However, this is confusing for the end user.

Probably it would be practical to have an option for the name (without the need of a file) and another option for overwriting the name provided by the file.

VNF creation is not doing the rollback in case of internal server error

When creating a VNF, if it fails due to an internal server error (e.g. errors in the code such as the assignment of the value of dict[key] when the key does not exist), the rollback does not happen.

Possible solutions:

  1. Keep it since it should not happen if the code is appropriately written.
  2. Since it is a complicated function, try/catch the code so that in case of failure, it does the rollback.

Automatic installation of openmano with script 'install-openmano.sh' fails in RHEL7.1

The script for automatic installation of openmano is prepared for Ubuntu 14 and CentOS 7, while fails in RHEL7.

The problem is that the epel repo addition fails and therefore some packages cannot be installed. Specifically, the following instruction in the script fails:
$ sudo yum install -y epel-release
Loaded plugins: langpacks, product-id, subscription-manager
No package epel-release available.
Error: Nothing to do

openvim does not remove openflow rules when deleting networks

Some unknown circunstances makes that openvim leave undeleted some openflow rules in the controller, though it deletes from database. This causes undesirable connections over the new deployment. The work arount is to clear all the rules and insert them again with "openvim openflow-clear-all" and "openvim openflow-net-reinstall"

Changes to NBI OSM module

Hello All,

I am trying to do some changes in NBI module and want to get the changes to reflect, so I am building image with nbi:develop tag but it is not able to create docker containers properly as most of the files including osm_nbi module is missing in python3/dist-packages in container.
If someone have got solution, I would really be thankful.

Unexpected error when adding a new external network in openvim

There is an unexpected error when adding a new external network with openvim
openvim net-create '{"network": {"name":"br399", "type":"bridge_man", "provider:physical":"bridge:ens2f0.399-br0", "shared":true}}'
{
"error": {
"code": 400,
"type": "400 Bad Request",
"description": "invalid format at 'network:provider:physical': u'bridge:ens2f0.399-br0' is not valid under any of the given schemas"
}
}

The solution is probably related to the JSON schemas in vim_schemas. It might have implications in the database.

python-paramiko deprecated

The python-paramiko library has been deprecated, the newer version is python2-paramiko, at least in CentOS. The install-openmano.sh should be changed to use python2-paramiko instead of python-paramiko.

Restoration of interfaces status in the host after deleting an instance scenario

Frequently, after deleting an instance scenario, interfaces in the host remain in down state. This generates problems when deploying a new instance scenario that uses those interfaces: the interfaces must be up in the host for the guest to be able to use them.

Openmano should restore the static configuration of the host interfaces when they are freed, UP state and MTU size at least.

Public Cloud Integration

Please, any plan to put the controller node in Amazon EC2 (as an AMI) to control VNFs at the same layer (e.g. Clearwater that is already an AMI) over there?

No room at data center for allocating the server

I could not get the concept of 'room' when trying to debug the output below following the Getting Started with 'test' mode.

root@ubuntu1410server:/home/adminuser/openmano/openmano# ./openmano scenario-deploy complex complex-instance
Error creating vm instance: Error in VIM "http://localhost:9080/openvim": not possible to add new vm instance. HTTP Response: 400. Error: No room at data center for allocating the server. Rollback successful

I've also tried after deleting the 'simple' scenario (./openmano instance-scenario-delete) thinking in any resource release, but unsuccessful.

Please, any suggestion?

Unknown error when trying to get the host info with host-add.sh

user@host01 ~$ sudo ./host-add.sh user 10.100.0.1 > host01.yaml
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")
./host-add.sh: line 31: 0000:04:11.7: syntax error in expression (error token is ":04:11.7")

The error seems to be related with the procedure for getting the SR-IOV interfaces.

Problems with openmano-gui

Buttons Rebuild, Start, Stop, over instance-scenarios does not work.
When creating new scenario and trying to delete a VNF sometimes it is deleted the wrong VNF. Normally it happens when deleteing using left-hand mouse button contex menu.

Error loading file 'vnfs/examples/dataplaneVNF1.yaml' at position: (2:4): content format error: Failed to parse yaml format

trying to create some VNFs using the examples of VNF descriptors provided with the code:
linux.yaml works fine but the other two explamples report me errors:

adminuser@ubuntu1410server:/openmano/openmano$ ./openmano vnf-create vnfs/examples/dataplaneVNF1.yaml
Error loading file 'vnfs/examples/dataplaneVNF1.yaml' at position: (2:4): content format error: Failed to parse yaml format
adminuser@ubuntu1410server:
/openmano/openmano$ ./openmano vnf-create vnfs/examples/dataplaneVNF2.yaml
invalid format 'u'Dataplane VM with high I/O performance requirements: 3 cores (no hyperthreading), 8 GB hugepages, 2 10G interfaces and 1 SR-IOV interface' does not match '^[^,;()\'"]+$'' at vnf:VNFC:0:description
adminuser@ubuntu1410server:/openmano/openmano$ ls -la vnfs/examples/
total 20
drwxrwxr-x 2 adminuser adminuser 4096 Apr 17 07:31 .
drwxrwxr-x 3 adminuser adminuser 4096 Apr 13 04:17 ..
-rw-rw-r-- 1 adminuser adminuser 2640 Apr 17 06:19 dataplaneVNF1.yaml
-rw-rw-r-- 1 adminuser adminuser 2592 Apr 17 06:19 dataplaneVNF2.yaml
-rw-rw-r-- 1 adminuser adminuser 884 Apr 17 06:38 linux.yaml
adminuser@ubuntu1410server:
/openmano/openmano$

host-create

According to the "get started" part of the wiki, one should execute the command './openvim host-create ./test/hosts/host-example0.json'. However openvim returns an error that host-create is an invalid choice. Should this be host-add?

Is This Repo Maintained?

Hi,

I'm interested in deploying this on a bare-metal box using one of the distros tested. It seems the project was not updated for the past 5 years.

Is this project still maintained? If not, are there alternatives to this one?

Thank you
Ofek

/etc/libvexec/qemu-kvm

Hello,

I tried running latest openmano under Ubuntu 14.04 in development mode. VNFs were not getting started unless I created a soft link for /etc/libexec/qemu-kvm to point to /usr/bin/kvm. Initially I thought it could be my environment messing up. but as per below link its XML issue.

https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1318691

Am confused whether to mark this as issue or just an observation. Did you guys observed this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.