Para qualquer questão não respondida neste arquivo ou na documentação do H2O-3, utilize:
H2O é uma plataforma in-memory para aprendizado de máquina distribuído e escalonável. H2O usa interfaces familiares como R, Python, Scala, Java, JSON e a interface Flow notebook/web, e funciona perfeitamente com tecnologias de big data como Hadoop e Spark. H2O fornece implementações de muitos algoritmos populares, como modelos lineares generalizados (GLM), máquinas de aumento de gradiente (incluindo XGBoost), florestas aleatórias, redes neurais profundas, conjuntos empilhados, Naive Bayes, modelos aditivos generalizados (GAM), riscos proporcionais de Cox, K- Means, PCA, Word2Vec, bem como um algoritmo de aprendizado de máquina totalmente automático (H2O AutoML).
O H2O é extensível para que os desenvolvedores possam adicionar transformações de dados e algoritmos personalizados de sua escolha e acessá-los por meio de todos esses clientes. Os modelos H2O podem ser baixados e carregados na memória H2O para pontuação ou exportados para o formato POJO ou MOJO para pontuação extremamente rápida na produção. Mais informações podem ser encontradas no Guia do usuário H2O.
H2O-3 (este repositório) é a terceira encarnação do H2O e o sucessor do H2O-2.
Embora a maior parte deste README seja escrita para desenvolvedores que fazem suas próprias compilações, a maioria dos usuários do H2O apenas baixa e usa uma versão pré-compilada. Se você é usuário de Python ou R, a maneira mais fácil de instalar o H2O é via PyPI ou Anaconda (para Python) ou CRAN (para R):
pip install h2o
install.packages( " h2o " )
Para obter as últimas versões estáveis, noturnas, do Hadoop (ou Spark / Sparkling Water) ou o jarro de H2O independente, visite: https://h2o.ai/download
Mais informações sobre como baixar e instalar o H2O estão disponíveis no Guia do usuário do H2O.
A maioria das pessoas interage com três ou quatro recursos primários de código aberto: GitHub (que você já encontrou), GitHub Issues (para relatórios de bugs e rastreamento de problemas), Stack Overflow para questões específicas de software/código H2O e h2ostream (um grupo do Google / fórum de discussão por e-mail) para perguntas não adequadas ao Stack Overflow. Há também um grupo de bate-papo para desenvolvedores Gitter H2O, no entanto, para fins de arquivamento e para maximizar a acessibilidade, preferimos que as perguntas e respostas padrão do H2O sejam conduzidas no Stack Overflow.
Você pode navegar e criar novos problemas em nosso repositório GitHub: https://github.com/h2oai/h2o-3
Issues
na parte superior da páginaGitHub
Problemas do GitHub – arquive relatórios de bugs/rastreie problemas aqui
Stack Overflow - faça todas as perguntas sobre código/software aqui
Validação cruzada (Stack Exchange) - faça perguntas sobre algoritmos/teoria aqui
h2ostream Google Group – faça perguntas não relacionadas ao código aqui
Bate-papo do desenvolvedor Gitter H2O
Documentação
Download (pacotes pré-construídos)
Site
Twitter – siga-nos para atualizações e notícias H2O!
H2O incrível - compartilhe suas criações movidas a H2O conosco
Cada build noturno publica artefatos R, Python, Java e Scala em um repositório específico do build. Em particular, você pode encontrar artefatos Java no diretório maven/repo.
Aqui está um exemplo de trecho de um arquivo de compilação gradle usando h2o-3 como dependência. Substitua x, y, z e nnnn por números válidos.
// h2o-3 dependency information
def h2oBranch = 'master'
def h2oBuildNumber = 'nnnn'
def h2oProjectVersion = "x.y.z.${h2oBuildNumber}"
repositories {
// h2o-3 dependencies
maven {
url "https://s3.amazonaws.com/h2o-release/h2o-3/${h2oBranch}/${h2oBuildNumber}/maven/repo/"
}
}
dependencies {
compile "ai.h2o:h2o-core:${h2oProjectVersion}"
compile "ai.h2o:h2o-algos:${h2oProjectVersion}"
compile "ai.h2o:h2o-web:${h2oProjectVersion}"
compile "ai.h2o:h2o-app:${h2oProjectVersion}"
}
Consulte a página de compilação noturna mais recente do H2O-3 para obter informações sobre a instalação de artefatos de compilação noturna.
Consulte o repositório GitHub h2o-droplets para obter um exemplo prático de como usar artefatos Java com gradle.
Observação: artefatos estáveis de H2O-3 são publicados periodicamente no Maven Central (clique aqui para pesquisar), mas podem ficar substancialmente atrasados em relação às compilações noturnas do H2O-3 Bleeding Edge.
Começar com o desenvolvimento H2O requer JDK 1.8+, Node.js, Gradle, Python e R. Usamos o wrapper Gradle (chamado gradlew
) para garantir que versões locais atualizadas do Gradle e outras dependências sejam instaladas em seu diretório de desenvolvimento.
Construir h2o
requer um ambiente R configurado corretamente com os pacotes necessários e um ambiente Python com os seguintes pacotes:
grip
tabulate
requests
wheel
Para instalar esses pacotes você pode usar pip ou conda. Se você tiver problemas para instalar esses pacotes no Windows , siga a seção Configuração no Windows deste guia.
(Nota: É recomendado usar algum ambiente virtual como VirtualEnv, para instalar todos os pacotes.)
Para construir H2O a partir do repositório, execute as etapas a seguir.
# Build H2O
git clone https://github.com/h2oai/h2o-3.git
cd h2o-3
./gradlew build -x test
You may encounter problems: e.g. npm missing. Install it:
brew install npm
# Start H2O
java -jar build/h2o.jar
# Point browser to http://localhost:54321
git clone https://github.com/h2oai/h2o-3.git
cd h2o-3
./gradlew syncSmalldata
./gradlew syncRPackages
./gradlew build
Notas :
- A execução de testes inicia cinco JVMs de teste que formam um cluster H2O e requerem pelo menos 8 GB de RAM (de preferência 16 GB de RAM).
- A execução de
./gradlew syncRPackages
é compatível com Windows, OS X e Linux e é altamente recomendada, mas não obrigatória../gradlew syncRPackages
garante um ambiente completo e consistente com versões pré-aprovadas dos pacotes necessários para testes e compilações. Os pacotes podem ser instalados manualmente, mas recomendamos definir uma variável ENV e usar./gradlew syncRPackages
. Para definir a variável ENV, use o seguinte formato (onde `${WORKSPACE} pode ser qualquer caminho):mkdir -p ${WORKSPACE}/Rlibrary export R_LIBS_USER=${WORKSPACE}/Rlibrary
git pull
./gradlew syncSmalldata
./gradlew syncRPackages
./gradlew clean
./gradlew build
Recomendamos usar ./gradlew clean
após cada git pull
.
Ignore os testes adicionando -x test
no final da linha de comando do gradle build. Os testes normalmente são executados de 7 a 10 minutos em um laptop Macbook Pro com 4 CPUs (8 hyperthreads) e 16 GB de RAM.
A sincronização de smalldata não é necessária após cada pull, mas se os testes falharem devido à falta de arquivos de dados, tente ./gradlew syncSmalldata
como a primeira etapa de solução de problemas. A sincronização de smalldata baixa arquivos de dados do AWS S3 para o diretório smalldata em seu espaço de trabalho. A sincronização é incremental. Não faça check-in desses arquivos. O diretório smalldata está em .gitignore. Se você não executar nenhum teste, não precisará do diretório smalldata.
A execução de ./gradlew syncRPackages
é compatível com Windows, OS X e Linux e é altamente recomendada, mas não obrigatória. ./gradlew syncRPackages
garante um ambiente completo e consistente com versões pré-aprovadas dos pacotes necessários para testes e compilações. Os pacotes podem ser instalados manualmente, mas recomendamos definir uma variável ENV e usar ./gradlew syncRPackages
. Para definir a variável ENV, use o seguinte formato (onde ${WORKSPACE}
pode ser qualquer caminho):
mkdir -p ${WORKSPACE}/Rlibrary
export R_LIBS_USER=${WORKSPACE}/Rlibrary
./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)
open target/docs-website/h2o-docs/index.html
A raiz do repositório git contém um Makefile com atalhos convenientes para alvos de construção frequentes usados no desenvolvimento. Para construir h2o.jar
enquanto pula testes e também a construção de assemblies alternativos, execute
make
Para construir h2o.jar
usando o assembly mínimo, execute
make minimal
A montagem mínima é adequada para o desenvolvimento de algoritmos de aprendizado de máquina H2O. Ele não agrupa algumas dependências pesadas (como o Hadoop) e usá-lo economiza tempo de construção, além de precisar baixar grandes bibliotecas de repositórios Maven.
Na linha de comando, valide python
está usando o pacote recém-instalado usando which python
(ou sudo which python
). Atualize a variável Environment com o caminho do WinPython.
pip install grip tabulate wheel
Instale o Java 1.8+ e adicione o diretório apropriado C:Program FilesJavajdk1.7.0_65bin
com java.exe ao PATH em Variáveis de ambiente. Para garantir que o prompt de comando esteja detectando a versão correta do Java, execute:
javac -version
A variável CLASSPATH também precisa ser definida na subpasta lib do JDK:
CLASSPATH=/<path>/<to>/<jdk>/lib
Instale o Node.js e adicione o diretório instalado C:Program Filesnodejs
, que deve incluir node.exe e npm.cmd ao PATH se ainda não estiver anexado.
Instale R e adicione o diretório bin ao seu PATH, se ainda não estiver incluído.
Instale os seguintes pacotes R:
Para instalar esses pacotes em uma sessão R:
pkgs <- c( " RCurl " , " jsonlite " , " statmod " , " devtools " , " roxygen2 " , " testthat " )
for ( pkg in pkgs ) {
if ( ! ( pkg %in% rownames(installed.packages()))) install.packages( pkg )
}
Observe que libcurl é necessário para instalação do pacote RCurl R.
Observe que estes pacotes não cobrem a execução de testes, apenas para construção de H2O.
Por fim, instale o Rtools, que é uma coleção de ferramentas de linha de comando para facilitar o desenvolvimento do R no Windows.
NOTA : Durante a instalação do Rtools, não instale Cygwin.dll.
NOTA : Durante a instalação do Cygwin, desmarque os pacotes Python para evitar conflito com o pacote Python.org.
Se o Cygwin já estiver instalado, remova os pacotes Python ou certifique-se de que Native Python esteja antes do Cygwin na variável PATH.
Se você ainda não possui um cliente Git, instale um. O padrão pode ser encontrado aqui http://git-scm.com/downloads. Certifique-se de que o suporte ao prompt de comando esteja ativado antes da instalação.
Baixe e atualize os códigos-fonte h2o-3:
git clone https://github.com/h2oai/h2o-3
cd h2o-3
./gradlew.bat build
Se você encontrar erros, execute novamente com
--stacktrace
para obter mais instruções sobre dependências ausentes.
Se você não possui o Homebrew, recomendamos instalá-lo. Facilita o gerenciamento de pacotes para OS X.
Instale Java 1.8+. Para garantir que o prompt de comando esteja detectando a versão correta do Java, execute:
javac -version
Usando Homebrew:
brew install node
Caso contrário, instale a partir do site do NodeJS.
Instale R e adicione o diretório bin ao seu PATH, se ainda não estiver incluído.
Instale os seguintes pacotes R:
Para instalar esses pacotes em uma sessão R:
pkgs <- c( " RCurl " , " jsonlite " , " statmod " , " devtools " , " roxygen2 " , " testthat " )
for ( pkg in pkgs ) {
if ( ! ( pkg %in% rownames(installed.packages()))) install.packages( pkg )
}
Observe que libcurl é necessário para instalação do pacote RCurl R.
Observe que estes pacotes não cobrem a execução de testes, apenas para construção de H2O.
Instale o python:
brew install python
Instale o gerenciador de pacotes pip:
sudo easy_install pip
Em seguida, instale os pacotes necessários:
sudo pip install wheel requests tabulate
O OS X já deve ter o Git instalado. Para baixar e atualizar os códigos-fonte h2o-3:
git clone https://github.com/h2oai/h2o-3
cd h2o-3
./gradlew build
Nota: em uma máquina normal pode levar muito tempo (cerca de uma hora) para executar todos os testes.
Se você encontrar erros, execute novamente com
--stacktrace
para obter mais instruções sobre dependências ausentes.
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs
Instale o Java 8. As instruções de instalação podem ser encontradas aqui Instalação do JDK. Para garantir que o prompt de comando esteja detectando a versão correta do Java, execute:
javac -version
As instruções de instalação podem ser encontradas aqui R instalação. Clique em “Baixar R para Linux”. Clique em “ubuntu”. Siga as instruções fornecidas.
Para instalar os pacotes necessários, siga as mesmas instruções do OS X acima.
Nota : Se o processo de instalação do RStudio Server no Linux falhar, execute um dos seguintes:
sudo apt-get install libcurl4-openssl-dev
ou
sudo apt-get install libcurl4-gnutls-dev
Se você ainda não possui um cliente Git:
sudo apt-get install git
Baixe e atualize os códigos-fonte h2o-3:
git clone https://github.com/h2oai/h2o-3
cd h2o-3
./gradlew build
Se você encontrar erros, execute novamente usando
--stacktrace
para obter mais instruções sobre dependências ausentes.
Certifique-se de não estar executando como root, pois
bower
rejeitará tal execução.
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt-get install -y nodejs
cd /opt
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz"
sudo tar xzf jdk-7u79-linux-x64.tar.gz
cd jdk1.7.0_79
sudo alternatives --install /usr/bin/java java /opt/jdk1.7.0_79/bin/java 2
sudo alternatives --install /usr/bin/jar jar /opt/jdk1.7.0_79/bin/jar 2
sudo alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_79/bin/javac 2
sudo alternatives --set jar /opt/jdk1.7.0_79/bin/jar
sudo alternatives --set javac /opt/jdk1.7.0_79/bin/javac
cd /opt
sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
sudo rpm -ivh epel-release-7-5.noarch.rpm
sudo echo "multilib_policy=best" >> /etc/yum.conf
sudo yum -y update
sudo yum -y install R R-devel git python-pip openssl-devel libxml2-devel libcurl-devel gcc gcc-c++ make openssl-devel kernel-devel texlive texinfo texlive-latex-fonts libX11-devel mesa-libGL-devel mesa-libGL nodejs npm python-devel numpy scipy python-pandas
sudo pip install scikit-learn grip tabulate statsmodels wheel
mkdir ~/Rlibrary
export JAVA_HOME=/opt/jdk1.7.0_79
export JRE_HOME=/opt/jdk1.7.0_79/jre
export PATH=$PATH:/opt/jdk1.7.0_79/bin:/opt/jdk1.7.0_79/jre/bin
export R_LIBS_USER=~/Rlibrary
# install local R packages
R -e 'install.packages(c("RCurl","jsonlite","statmod","devtools","roxygen2","testthat"), dependencies=TRUE, repos="http://cran.rstudio.com/")'
cd
git clone https://github.com/h2oai/h2o-3.git
cd h2o-3
# Build H2O
./gradlew syncSmalldata
./gradlew syncRPackages
./gradlew build -x test
Para iniciar o cluster H2O localmente, execute o seguinte na linha de comando:
java -jar build/h2o.jar
Uma lista de opções de inicialização JVM e H2O disponíveis (por exemplo, -Xmx
, -nthreads
, -ip
) está disponível no Guia do usuário H2O.
Arquivos zip H2O-on-Hadoop pré-construídos estão disponíveis na página de download. Cada versão de distribuição do Hadoop possui um arquivo zip separado em h2o-3.
Para construir o H2O com suporte ao Hadoop, primeiro instale o sphinx para python: pip install sphinx
Em seguida, inicie a construção digitando o seguinte no diretório de nível superior h2o-3:
export BUILD_HADOOP=1;
./gradlew build -x test;
./gradlew dist;
Isso criará um diretório chamado ‘target’ e gerará arquivos zip lá. Observe que BUILD_HADOOP
é o comportamento padrão quando o nome de usuário é jenkins
(consulte settings.gradle
); caso contrário, você deverá solicitá-lo, conforme mostrado acima.
Para construir os arquivos zip apenas para distribuições selecionadas use a variável env H2O_TARGET
junto com BUILD_HADOOP
, por exemplo:
export BUILD_HADOOP=1;
export H2O_TARGET=hdp2.5,hdp2.6
./gradlew build -x test;
./gradlew dist;
No diretório h2o-hadoop
, cada versão do Hadoop possui um diretório de construção para o driver e um diretório de montagem para o fatjar.
Você precisa:
build.gradle
) em h2o-hadoop
h2o-3/settings.gradle
HADOOP_VERSIONS
em make-dist.sh
h2o-dist/buildinfo.json
O Hadoop oferece suporte à representação segura do usuário por meio de sua API Java. Um usuário autenticado por Kerberos pode ter permissão para fazer proxy de qualquer nome de usuário que atenda aos critérios especificados inseridos no arquivo core-site.xml do NameNode. Essa representação se aplica apenas a interações com a API do Hadoop ou com as APIs de serviços relacionados ao Hadoop que a suportam (isso não é o mesmo que mudar para esse usuário na máquina de origem).
Configurando a representação segura do usuário (para h2o):
hadoop.proxyuser.<proxyusername>.hosts
: os hosts dos quais o usuário proxy tem permissão para executar ações personificadas em nome de um usuário válidohadoop.proxyuser.<proxyusername>.groups
: os grupos aos quais um usuário personificado deve pertencer para que a representação funcione com esse usuário proxyhadoop.proxyuser.<proxyusername>.users
: os usuários que um usuário proxy tem permissão para representar<property> <name>hadoop.proxyuser.myproxyuser.hosts</name> <value>host1,host2</value> </property> <property> <name>hadoop.proxyuser.myproxyuser.groups</name> <value>group1,group2</value> </property> <property> <name>hadoop.proxyuser.myproxyuser.users</name> <value>user1,user2</value> </property>
As ações personificadas do HDFS podem ser visualizadas no log de auditoria do hdfs ('auth:PROXY' deve aparecer no campo ugi=
nas entradas onde for aplicável). Da mesma forma, o YARN deve mostrar 'auth:PROXY' em algum lugar da IU do Resource Manager.
Para usar representação segura com o driver Hadoop da h2o:
Antes de tentar fazer isso, consulte Riscos com representação, abaixo
Ao usar o h2odriver (por exemplo, ao executar com hadoop jar ...
), especifique -principal <proxy user kerberos principal>
, -keytab <proxy user keytab path>
e -run_as_user <hadoop username to impersonate>
, além de qualquer outro argumentos necessários. Se a configuração for bem-sucedida, o usuário proxy fará login e representará o -run_as_user
, desde que esse usuário seja permitido pela propriedade de configuração de usuários ou grupos (configurada acima); isso é aplicado pelo HDFS & YARN, não pelo código da h2o. O driver define efetivamente seu contexto de segurança como o usuário personificado para que todas as ações suportadas do Hadoop sejam executadas como esse usuário (por exemplo, YARN, APIs HDFS suportam usuários representados com segurança, mas outros não).
hadoop.proxyuser.<proxyusername>.hosts
sempre que possível ou prático.su
, por exemplo)hadoop.proxyuser.<proxyusername>.{hosts,groups,users}
como '*' pode aumentar muito a exposição a riscos de segurança. $ git diff
diff --git a/h2o-app/build.gradle b/h2o-app/build.gradle
index af3b929..097af85 100644
--- a/h2o-app/build.gradle
+++ b/h2o-app/build.gradle
@@ -8,5 +8,6 @@ dependencies {
compile project(":h2o-algos")
compile project(":h2o-core")
compile project(":h2o-genmodel")
+ compile project(":h2o-persist-hdfs")
}
diff --git a/h2o-persist-hdfs/build.gradle b/h2o-persist-hdfs/build.gradle
index 41b96b2..6368ea9 100644
--- a/h2o-persist-hdfs/build.gradle
+++ b/h2o-persist-hdfs/build.gradle
@@ -2,5 +2,6 @@ description = "H2O Persist HDFS"
dependencies {
compile project(":h2o-core")
- compile("org.apache.hadoop:hadoop-client:2.0.0-cdh4.3.0")
+ compile("org.apache.hadoop:hadoop-client:2.4.1-mapr-1408")
+ compile("org.json:org.json:chargebee-1.0")
}
Sparkling Water combina duas tecnologias de código aberto: Apache Spark e a plataforma H2O Machine Learning. Ele torna a biblioteca de algoritmos avançados do H2O, incluindo Deep Learning, GLM, GBM, K-Means e Distributed Random Forest, acessível a partir de fluxos de trabalho do Spark. Os usuários do Spark podem selecionar os melhores recursos de qualquer plataforma para atender às suas necessidades de aprendizado de máquina. Os usuários podem combinar a API RDD do Spark e o Spark MLLib com os algoritmos de aprendizado de máquina do H2O ou usar o H2O independentemente do Spark para o processo de construção do modelo e pós-processar os resultados no Spark.
Recursos de água com gás :
A principal documentação do H2O é o Guia do Usuário do H2O. Visite http://docs.h2o.ai para obter uma introdução de nível superior à documentação sobre projetos H2O.
Para gerar a documentação da API REST, use os seguintes comandos:
cd ~/h2o-3
cd py
python ./generate_rest_api_docs.py # to generate Markdown only
python ./generate_rest_api_docs.py --generate_html --github_user GITHUB_USER --github_password GITHUB_PASSWORD # to generate Markdown and HTML
O local padrão para a documentação gerada é build/docs/REST
.
Se a compilação falhar, tente gradlew clean
e, em seguida, git clean -f
.
A documentação para cada compilação noturna de última geração está disponível na página de compilação noturna.
Se você usa H2O como parte de seu fluxo de trabalho em uma publicação, cite seu(s) recurso(s) H2O usando a seguinte entrada BibTex:
@Manual{h2o_package_or_module,
title = {package_or_module_title},
author = {H2O.ai},
year = {year},
month = {month},
note = {version_information},
url = {resource_url},
}
Exemplos de citações do software H2O formatado :
Os livretos do algoritmo H2O estão disponíveis na página inicial da documentação.
@Manual{h2o_booklet_name,
title = {booklet_title},
author = {list_of_authors},
year = {year},
month = {month},
url = {link_url},
}
Exemplos de citações de livretos formatados :
Arora, A., Candel, A., Lanford, J., LeDell, E. e Parmar, V. (outubro de 2016). Aprendizado profundo com H2O . http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/DeepLearningBooklet.pdf.
Click, C., Lanford, J., Malohlava, M., Parmar, V. e Roark, H. (outubro de 2016). Modelos com Gradient Boosted com H2O . http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/GBMBooklet.pdf.
O H2O foi construído por um grande número de colaboradores ao longo dos anos, tanto dentro da H2O.ai (a empresa) quanto na comunidade de código aberto. Você pode começar a contribuir com o H2O respondendo a perguntas do Stack Overflow ou preenchendo relatórios de bugs. Por favor, junte-se a nós!
SriSatish Ambati
Cliff Click
Tom Kraljevic
Tomas Nykodym
Michal Malohlava
Kevin Normoyle
Spencer Aiello
Anqi Fu
Nidhi Mehta
Arno Candel
Josephine Wang
Amy Wang
Max Schloemer
Ray Peck
Prithvi Prabhu
Brandon Hill
Jeff Gambera
Ariel Rao
Viraj Parmar
Kendall Harris
Anand Avati
Jessica Lanford
Alex Tellez
Allison Washburn
Amy Wang
Erik Eckstrand
Neeraja Madabhushi
Sebastian Vidrio
Ben Sabrin
Matt Dowle
Mark Landry
Erin LeDell
Andrey Spiridonov
Oleg Rogynskyy
Nick Martin
Nancy Jordan
Nishant Kalonia
Nadine Hussami
Jeff Cramer
Stacie Spreitzer
Vinod Iyengar
Charlene Windom
Parag Sanghavi
Navdeep Gill
Lauren DiPerna
Anmol Bal
Mark Chan
Nick Karpov
Avni Wadhwa
Ashrith Barthur
Karen Hayrapetyan
Jo-fai Chow
Dmitry Larko
Branden Murray
Jakub Hava
Wen Phan
Magnus Stensmo
Pasha Stetsenko
Angela Bartz
Mateusz Dymczyk
Micah Stubbs
Ivy Wang
Terone Ward
Leland Wilkinson
Wendy Wong
Nikhil Shekhar
Pavel Pscheidl
Michal Kurka
Veronika Maurerova
Jan Sterba
Jan Jendrusak
Sebastien Poirier
Tomáš Frýda
Ard Kelmendi
Yuliia Syzon
Adam Valenta
Marek Novotny
Zuzana Olajcova
Conselho Consultivo Científico
Stephen Boyd
Rob Tibshirani
Trevor Hastie
Sistemas, Dados, Sistemas de Arquivos e Hadoop
Doug Lea
Chris Pouliot
Dhruba Borthakur
Jishnu Bhattacharjee, Nexus Venture Partners
Anand Babu Periasamy
Anand Rajaraman
Ash Bhardwaj
Rakesh Mathur
Michael Marks
Egbert Bierman
Rajesh Ambati