-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Release Process
Jack Gerrits edited this page Aug 3, 2020
·
29 revisions
- No warnings emitted when built
-
./utl/clang-format fix
- Commit and PR this change
- Run test suite and unit tests with Valgrind to check for leaks and other memory issues
./RunTests -d -fe -E 0.001 -V
valgrind --track-origins=yes --leak-check=full ./build/test/unit_test/vw-unit-test.out
- Update
version.txt
with new version number - Commit and push the version number update and PR to
master
branch (IMPORTANT: do not include formatting fixes in this) -
Use GitHub UI to draft a new release
- Input the version number in
version.txt
into theTag version
field - Doing it this way ensures there is a single linear history of releases
- To generate the All Changes list:
git log --pretty=%s <last_release_tag>..HEAD
- Input the version number in
export VW_REPO_DIR=...
docker pull ubuntu:16.04
docker run -it --rm -v $VW_REPO_DIR:/vw ubuntu:16.04 /bin/bash
Inside the docker container:
apt update
apt install -y g++ wget dpkg-dev
# Install CMake
# Look here: https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Maintainer-Info#obtaining-new-cmake-version
# Install zlib
RUN wget -O zlib.tar.gz 'https://zlib.net/fossils/zlib-1.2.8.tar.gz' \
&& tar xvzf zlib.tar.gz \
&& cd zlib-1.2.8 \
&& ./configure --static --archs=-fPIC \
&& make -j$(nproc) \
&& make install \
&& cd .. && rm -rf zlib*
# Install boost
RUN wget -O boost.tar.gz 'https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.gz/download' \
&& tar -xvzf boost.tar.gz \
&& mkdir boost_output \
&& cd boost_1_70_0 \
&& ./bootstrap.sh --prefix=/boost_output --with-libraries=program_options,system,thread,test,chrono,date_time,atomic \
&& ./bjam -j$(nproc) cxxflags=-fPIC cflags=-fPIC -a install \
&& cd .. && rm -rf boost_1_70_0 boost.tar.gz
cd /vw
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=Off -DSTATIC_LINK_VW_JAVA=On -DBUILD_TESTS=Off -DBUILD_JAVA=Off -DBUILD_PYTHON=Off
make all -j$(nproc)
cpack -G DEB
cpack -G TGZ
- Home
- First Steps
- Input
- Command line arguments
- Model saving and loading
- Controlling VW's output
- Audit
- Algorithm details
- Awesome Vowpal Wabbit
- Learning algorithm
- Learning to Search subsystem
- Loss functions
- What is a learner?
- Docker image
- Model merging
- Evaluation of exploration algorithms
- Reductions
- Contextual Bandit algorithms
- Contextual Bandit Exploration with SquareCB
- Contextual Bandit Zeroth Order Optimization
- Conditional Contextual Bandit
- Slates
- CATS, CATS-pdf for Continuous Actions
- Automl
- Epsilon Decay
- Warm starting contextual bandits
- Efficient Second Order Online Learning
- Latent Dirichlet Allocation
- VW Reductions Workflows
- Interaction Grounded Learning
- CB with Large Action Spaces
- CB with Graph Feedback
- FreeGrad
- Marginal
- Active Learning
- Eigen Memory Trees (EMT)
- Element-wise interaction
- Bindings
-
Examples
- Logged Contextual Bandit example
- One Against All (oaa) multi class example
- Weighted All Pairs (wap) multi class example
- Cost Sensitive One Against All (csoaa) multi class example
- Multiclass classification
- Error Correcting Tournament (ect) multi class example
- Malicious URL example
- Daemon example
- Matrix factorization example
- Rcv1 example
- Truncated gradient descent example
- Scripts
- Implement your own joint prediction model
- Predicting probabilities
- murmur2 vs murmur3
- Weight vector
- Matching Label and Prediction Types Between Reductions
- Zhen's Presentation Slides on enhancements to vw
- EZExample Archive
- Design Documents
- Contribute: