Giter Club home page Giter Club logo

hpilo-exporter's Introduction

HP iLO Metrics Exporter

Blackbox likes exporter used to exports HP Server Integrated Lights Out (iLO) states to Prometheus.

Gauges

Here are the status code of gauge

0 - OK
1 - Degraded
2 - Dead (Other)

Output example

Example of status of your iLO

health_at_a_glance:
  battery: {status: OK}
  bios_hardware: {status: OK}
  fans: {redundancy: Redundant, status: OK}
  memory: {status: OK}
  network: {status: Link Down},
  power_supplies: {redundancy: Redundant, status: OK}
  processor: {status: OK}
  storage: {status: Degraded}
  temperature: {status: OK}
  vrm: {status: Ok}
  drive: {status: Ok}

The returned output would be:

hpilo_battery{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_storage{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 1.0
hpilo_fans{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_bios_hardware{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_memory{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_power_supplies{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_processor{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_network{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 2.0
hpilo_temperature{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 0.0
hpilo_vrm{product_name="ProLiant DL380 Gen6",server_name="name.fqdn.domain"} 0.0
hpilo_drive{product_name="ProLiant DL380 Gen6",server_name="name.fqdn.domain"} 0.0
hpilo_firmware_version{product_name="ProLiant DL360 Gen9",server_name="name.fqdn.domain"} 2.5

Installing

You can install exporter on the server directly or on separate machine. To run, you must have Python and pip installed.

To install with pip:

pip install -e $HPILO_EXPORTER_DIR

Then just:

hpilo-exporter [--address=0.0.0.0 --port=9416 --endpoint="/metrics"]

HPILO is also available on Pypi so it can be installed directly:

pip install hpilo-exporter

Docker

Prebuild images are available from the docker repository:

idnt/hpilo-exporter:latest

To build the image yourself

docker build --rm -t hpilo-exporter .

To run the container

docker run -p 9416:9416 hpilo-exporter:latest

You can then call the web server on the defined endpoint, /metrics by default.

curl 'http://127.0.0.1:9416/metrics?ilo_host=127.0.0.1&ilo_port=443&ilo_user=admin&ilo_password=admin'

Passing argument to the docker run command

docker run -p 9416:9416 hpilo-exporter:latest --port 9416 --ilo_user my_user --ilo_password my_secret_password

Docker compose

Here is an example of Docker Compose deployment:

hpilo:
    image: my.registry/hpilo-exporter
    ports:
      - 9416:9416
    command:
      - '--port=9416'
    deploy:
      placement:
        constraints:
          - node.hostname == my_node.domain

Kubernetes

A helm chart is available at prometheus-helm-addons.

Prometheus config

Assuming:

  • the exporter is available on http://hpilo:9416
  • you use same the port,username and password for all your iLO
- job_name: 'hpilo'
  scrape_interval: 1m
  scrape_timeout: 30s
  params:
    ilo_port: ['443']
    ilo_user: ['my_ilo_user']
    ilo_password: ['my_ilo_password']
  static_configs:
    - targets:
      - ilo_fqdn.domain

  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_ilo_host
    - source_labels: [__param_ilo_host]
      target_label: ilo_host
    - target_label: __address__
      replacement: hpilo:8082  # hpilo exporter.

hpilo-exporter's People

Contributors

joeds13 avatar jqckb avatar rucknar avatar sispheor avatar snegohod 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

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hpilo-exporter's Issues

Unable to start exporter

Hello everyone,
Your advice is appreciated,
I am trying to install exporter, the installation is successful, but fails to start exporter service.

  Running setup.py install for hpilo-exporter ... done
Successfully installed hpilo-exporter-0.4.5
You are using pip version 8.1.2, however version 22.2.2 is available.

and when I try to start, it says

# /bin/hpilo-exporter --address=192.168.10.1 --port=9416 --endpoint="/metrics"
Traceback (most recent call last):
  File "/bin/hpilo-exporter", line 9, in <module>
    load_entry_point('hpilo-exporter==0.4.5', 'console_scripts', 'hpilo-exporter')()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/site-packages/hpilo_exporter/main.py", line 7, in <module>
    from hpilo_exporter.exporter import ILOExporterServer
  File "/usr/lib/python2.7/site-packages/hpilo_exporter/exporter.py", line 10, in <module>
    import prometheus_metrics
  File "/usr/lib/python2.7/site-packages/hpilo_exporter/prometheus_metrics.py", line 1, in <module>
    from prometheus_client import Gauge
  File "/usr/lib/python2.7/site-packages/prometheus_client/__init__.py", line 3, in <module>
    from . import (
  File "/usr/lib/python2.7/site-packages/prometheus_client/exposition.py", line 113
    def make_wsgi_app(registry: CollectorRegistry = REGISTRY, disable_compression: bool = False) -> Callable:
                              ^
SyntaxError: invalid syntax

Serial number of the server to be reflected in Labels

Hi,

Require your help in getting the serial number of the server in the labels. Could you please provide the updated code or kindly guide me as to where all of it has been added to the code?

We can get the serial number from the function "ilo.get_host_data()" as i see.

Regards,
Suder.

iLO4 - ParseError: no element found

I've been running a few iLO containers for a while now and I keep seeing the following error occur. The frequency is sporadic, some containers don't error for months, others are many times a day and the ones erroring frequently are not always the same ones. The error out of the logs is as follows:

hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 00:42:19] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 00:46:19] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 00:50:20] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 00:54:20] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 00:58:20] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 01:02:20] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 01:06:21] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | 172.18.0.34 - - [18/Aug/2021 01:10:21] "GET /metrics?ilo_port=443&ilo_user=monitoring HTTP/1.1" 200 - hpilo-exporter-4_1 | Traceback (most recent call last): hpilo-exporter-4_1 | File "/usr/lib/python2.7/SocketServer.py", line 596, in process_request_thread hpilo-exporter-4_1 | self.finish_request(request, client_address) hpilo-exporter-4_1 | File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request hpilo-exporter-4_1 | self.RequestHandlerClass(request, client_address, self) hpilo-exporter-4_1 | File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__ hpilo-exporter-4_1 | self.handle() hpilo-exporter-4_1 | File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle hpilo-exporter-4_1 | self.handle_one_request() hpilo-exporter-4_1 | File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request hpilo-exporter-4_1 | method() hpilo-exporter-4_1 | File "/usr/src/hpilo_exporter/src/hpilo_exporter/exporter.py", line 159, in do_GET hpilo-exporter-4_1 | metrics = iloGetMetrics(ilo_host, ilo_port, ilo_user, ilo_password) hpilo-exporter-4_1 | File "/usr/src/hpilo_exporter/src/hpilo_exporter/exporter.py", line 69, in iloGetMetrics hpilo-exporter-4_1 | health_at_glance = ilo.get_embedded_health()['health_at_a_glance'] hpilo-exporter-4_1 | File "/usr/lib/python2.7/site-packages/hpilo.py", line 961, in get_embedded_health hpilo-exporter-4_1 | process=process) hpilo-exporter-4_1 | File "/usr/lib/python2.7/site-packages/hpilo.py", line 698, in _info_tag hpilo-exporter-4_1 | header, message = self._request(root) hpilo-exporter-4_1 | File "/usr/lib/python2.7/site-packages/hpilo.py", line 250, in _request hpilo-exporter-4_1 | message = self._parse_message(data) hpilo-exporter-4_1 | File "/usr/lib/python2.7/site-packages/hpilo.py", line 556, in _parse_message hpilo-exporter-4_1 | message = etree.fromstring(data) hpilo-exporter-4_1 | File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1312, in XML hpilo-exporter-4_1 | return parser.close() hpilo-exporter-4_1 | File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1665, in close hpilo-exporter-4_1 | self._raiseerror(v) hpilo-exporter-4_1 | File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1517, in _raiseerror hpilo-exporter-4_1 | raise err hpilo-exporter-4_1 | ParseError: no element found: line 409, column 46

Metric not working for fan and power supply

Hi,

Currently it seems like the exporter is not reading the status of two components correctly
fans: {redundancy: Redundant, status: OK}
power_supplies: {redundancy: Redundant, status: OK}

I think this is because unlike other components "battery: {status: OK} or bios_hardware: {status: OK}" the fan and power_supplies have multiple fields "redundancy" and "status". The exporter is not able to handle the field redundancy and always returns "2" for fans and power_supplies. The exporter should always read from field status.

Could you help us with this issue please?

Thanks

Flag for debugging

Hi there, nice exporter!

I'm unable to scrape the /metrics endpoint with prometheus (or curl) but I'm able to get a successful result when I run the get_embedded_health command with hpilo_cli.

Is there a flag to turn on debugging for the hpilo-exporter server? I'm not super-familiar with Python so I'm hoping there's an easier way than instrumenting my own logging statements or figuring out how to set up a dev environment.

Exporter resolve my FQDN and return a 404 code

Hello!
Thanks you a lot for a fine exporter.

The one bug:
I have a two ILO-servers by https connections. In https I was customizated selfsign SSL certs for domain name "ilo.master.my.org" and add this domain to the hosts-file

192.168.1.14 ilo.master.my.org

My Prometheus configuration is:

  - job_name: 'hpilo-master'
    scrape_interval: 1m
    params:
      ilo_port: ['443']
      ilo_user: ['Administrator']
      ilo_password: ['secret']
    static_configs:
      - targets:
        - ilo.master.my.org
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_ilo_host
      - source_labels: [__param_ilo_host]
        target_label: ilo_host
      - target_label: __address__
        replacement: master:9416

Prometheus sending http-request a correct:

prometheus[8021]: level=debug ts=2020-01-10T20:39:14.074Z caller=scrape.go:920 component="scrape manager" scrape_pool=hpilo-slave target="http://master:9416/metrics?ilo_host=ilo.slave.my.org&ilo_password=secret&ilo_port=443&ilo_user=Administrator" msg="Scrape failed" err="server returned HTTP status 404 Not Found""

but hpilo_exporter resolve my FQDN to IP and this is broken my HTTPS-logic:

hpilo-exporter[6163]: 192.168.1.8 - - [07/Jan/2020 04:06:13] "GET /metrics?ilo_host=192.168.1.14&ilo_password=secret&ilo_port=443&ilo_user=Administrator HTTP/1.1" 404 -

Of course, this is not work and return 404 code to me.

On my host with installed hpilo_exporter SSL work is fine, but this broken SSL logic.

My hpilo_exporter ran like here:

● hpilo-exporter.service - HPILO Exporter
   Loaded: loaded (/etc/systemd/system/hpilo-exporter.service; enabled; vendor preset: disabled)
   Active: active (running) since Пт 2020-01-10 23:57:48 MSK; 3s ago
 Main PID: 50145 (hpilo-exporter)
    Tasks: 1
   CGroup: /system.slice/hpilo-exporter.service
           └─50145 /usr/bin/python2 /bin/hpilo-exporter --address=0.0.0.0 --port=9416 --endpoint="/metrics"

янв 11 00:20:15 slave.hv.my.org systemd[1]: Started HPILO Exporter.
янв 11 00:20:16 slave.hv.my.org hpilo-exporter[50145]: Starting exporter on: http://0.0.0.0:9416"/metrics"
янв 11 00:20:16 slave.hv.my.org hpilo-exporter[50145]: Press Ctrl+C to quit

#!/usr/bin/python2
# EASY-INSTALL-ENTRY-SCRIPT: 'hpilo-exporter==0.3.4','console_scripts','hpilo-exporter'
__requires__ = 'hpilo-exporter==0.3.4'

HP ilo dashboard not showing data

Hi Guys,

Please help to advice when I check the dashboard was not showing data after a few hours. I had restarted the docker and the prometheus service but no luck. Is there any missing I did?

Thanks in advance
Jhony

missing parameter 'ilo_host'

Hi,
I'm trying to use your hpilo-exporter and have run into and issue.

I have configured it as per your settings, but when I try and access the web page (http://prometheus:9416/metrics) I get nothing on the web page, and the error "missing parameter 'ilo_host'" on the console of the server running the exporter.
If I use the full URL as in,
http://prometheus:9416/metrics?ilo_host=hpserver&ilo_port=443&ilo_user=administrator&ilo_password=mypassword
that works.
the hpilo-exporter is running on the same server as prometheus.

I'm starting the exporter like this:
hpilo-exporter --address=10.73.0.146 --port=9416 --endpoint="/metrics"

and the bottom of my prometheus.yml looks like this:

  • job_name: 'hpilo'
    scrape_interval: 1m
    scrape_timeout: 30s
    params:
    ilo_host: ['hpserver']
    ilo_port: ['443']
    ilo_user: ['administrator']
    ilo_password: ['mypassword']
    static_configs:

    • targets:
      • hpserver

    relabel_configs:

    • source_labels: [address]
      target_label: __param_ilo_host
    • source_labels: [__param_ilo_host]
      target_label: ilo_host
    • target_label: address
      replacement: prometheus:9416 # hpilo exporter.

Community Fork?

I see a lot of people have currently forked this repository working independently on new feature and keeping it maintained. What do you guy think of joining forces together and drive this as a community effort?

Tagging everyone how contributed on a fork within the last year:

@cbw @mhollstein @srkaviani @longpaul @n27051538 @baonq-me @root-ali @wardellc

Please let me know what you think and/or willing to do this as a community.

multiple targets, creates duplicate metrics

Hey, we're using the exporter as described in the readme, and getting odd results.

If we have more than one target to check against, we see results for both targets against each ilo_host:

Metrics page queried directly against ilo1_fqdn.domain:

# HELP hpilo_storage HP iLO storage status
# TYPE hpilo_storage gauge
hpilo_storage{product_name="ProLiant DL560 Gen9",server_name="ilo1_fqdn.domain"} 0.0
hpilo_storage{product_name="ProLiant DL560 Gen9",server_name="ilo2_fqdn.domain"} 0.0

Prometheus metrics query:

hpilo_battery{ilo_host="ilo1_fqdn.domain",instance="hpilo_crsm:9416",job="crsm_hpilo",monitor="Cerberus-CRSM",product_name="ProLiant DL560 Gen9",server_name="ilo1_fqdn.domain"}	0
hpilo_battery{ilo_host="ilo1_fqdn.domain",instance="hpilo_crsm:9416",job="crsm_hpilo",monitor="Cerberus-CRSM",product_name="ProLiant DL560 Gen9",server_name="ilo2_fqdn.domain"}	0
hpilo_battery{ilo_host="ilo2_fqdn.domain",instance="hpilo_crsm:9416",job="crsm_hpilo",monitor="Cerberus-CRSM",product_name="ProLiant DL560 Gen9",server_name="ilo1_fqdn.domain"}	0
hpilo_battery{ilo_host="ilo2_fqdn.domain",instance="hpilo_crsm:9416",job="crsm_hpilo",monitor="Cerberus-CRSM",product_name="ProLiant DL560 Gen9",server_name="ilo2_fqdn.domain"}	0

As you can see we have one job but results for both targets, are coming back on each.

Our docker container is deployed as:

  hpilo_crsm:
    image: idnt/hpilo-exporter
    ports:
      - 9416:9416
    command:
      - '--port=9416'
    networks:
      - monitor-net
    deploy:
      placement:
        constraints:
          - node.labels.datacenter==crsm

our prometheus.yml:

  - job_name: 'crsm_hpilo'
    scrape_interval: 1m
    params:
      ilo_port: ['443']
      ilo_user: ['username']
      ilo_password: ['password']
    file_sd_configs:
    - files:
      - 'crsm_hpilo.yml'
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_ilo_host
      - source_labels: [__param_ilo_host]
        target_label: ilo_host
      - target_label: __address__
        replacement: hpilo_crsm:9416 # hpilo exporter.

Our crsm_hpilo.yml (target file):

- targets:
    - ilo1_fqdn.domain
    - ilo2_fqdn.domain
  labels:
    env: coreptl_crsm
    job: crsm_ilo

Are we doing something wrong? It feels like the only way to get accurate metrics is to have a separate exporter per iLO. When we're talking 100s of iLO's to query, this seems ...ugh.

Having the ability to add user/pass for all iLOs feels like this is not intended however?

I've tried separate jobs in prometheus which still produced the same result.

Any help would be appreciated. Cheers, Chris.

ilo 4 - AttributeError: 'module' object has no attribute 'hpilo_nic_status_gauge'

Querying an HPE iLO4, I get this error:

`Traceback (most recent call last):
File "/usr/local/lib/python2.7/SocketServer.py", line 574, in process_request

self.finish_request(request, client_address)

File "/usr/local/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python2.7/SocketServer.py", line 655, in init
self.handle()
File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "/usr/src/hpilo_exporter/src/hpilo_exporter/exporter.py", line 129, in do_GET
prometheus_metrics.hpilo_nic_status_gauge.labels(product_name=product_name,
AttributeError: 'module' object has no attribute 'hpilo_nic_status_gauge'
Traceback (most recent call last):
File "/usr/local/lib/python2.7/SocketServer.py", line 574, in process_request

self.finish_request(request, client_address)

File "/usr/local/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/lib/python2.7/SocketServer.py", line 655, in init
self.handle()
File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "/usr/src/hpilo_exporter/src/hpilo_exporter/exporter.py", line 129, in do_GET
prometheus_metrics.hpilo_nic_status_gauge.labels(product_name=product_name,
AttributeError: 'module' object has no attribute 'hpilo_nic_status_gauge'`

Is this a known error with iLO4?

Upgrade to Python 3

Hello.

It’s been roughly a year since Python 2 support has stopped, and most distribution have stopped shipping it. It would be great if this exporter could be upgraded to support Python 3.

Are there any technical limitations that would prevent this?

I can work on a PR if help is needed.

Multible result if query multible ilo interfaces

The exporter returns all the query's that it has been asked. not the one asked.
that gives a funny answer in prometheus.
ex

  • job_name: 'hpilo'
    scrape_interval: 1m
    scrape_timeout: 30s
    params:
    ilo_port: ['443']
    ilo_user: ['administrator']
    ilo_password: ['*****']
    static_configs:

    • targets:
      • 10.1.16.2
      • 10.1.16.3
      • 10.1.16.4
      • 10.1.16.5
      • 10.1.16.6
      • 10.1.16.7
      • 10.1.16.8
      • 10.1.16.9
      • 10.1.16.10
      • 10.1.16.11
      • 10.1.16.12
      • 10.1.16.13
      • 10.1.16.14
      • 10.1.16.15
      • 10.1.16.16

    relabel_configs:

    • source_labels: [address]
      target_label: __param_ilo_host
    • source_labels: [__param_ilo_host]
      target_label: ilo_host
    • target_label: address
      replacement: 127.0.0.1:9416 # hpilo exporter.

image

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.