Hi-hello 👋 I enjoy working on really challenging scientific questions that will make a long-term difference. I provide tech organization/leadership for small teams moving science. Current focus is ML +…
Hi-hello 👋
I enjoy working on really challenging scientific questions that will make a long-term difference.
I provide tech organization/leadership for small teams moving science. Current focus is ML + Bio (more specifically, protein design), but previously I developed a bunch of ML methods for CERN.
You can find my development/ML projects here on github: first of all, check einops (unless you already use it 😏).
Projects I'm interested in
Are you looking for a programming project? I have some ideas for you:
einops support in ruff (upd: Sonar introduced einops check)
Einops is very readable per se, and mistakes are generally easy to detect, but how about making it even simpler with static analysis?
python
rearrange(x, 'b h w c -> b (h w)') # complain on missing c
rearrange(x, 'b h w 3 -> b (h w) 3') # anonymous axes like 3 are not available in rearrange
rearrange(x, 'b (h w) c -> b h w c') # complain that either h or w should be provided
einops coloring in vs code (upd: try EinColor for VS code from Marcin Jachmann)
Wouldn't it be great if reduced or added dimension was immediately colored? Something like:
'better' typer upd: cyclopts only misses autosuggestion to solve this
Tiangolo's typer originally made a number of things right - hierarchy of typers, strict type checking,
and auto-completion for a number of shells out-of-the-box.
That said, typer lacks attention from tiangolo, and lost some critical parts of experience:
- it is slow (500ms for auto suggestion is harsh)
- way many dependencies
- does not handle async functions (fixable)
- it is quite shell-y and not pythonic. I'd like to just call function from shell after all
- strange rules for lists and *args (e.g. can't pass an empty list)
- func(*, kw_only_param, kw_param=False) is not recognized
- func(param1, param2=None) forces to use --param2=val instead of call param1_val param2_val
- ~~type | None not supported~~ (fixed recently)
- dataclasses / pydantic as inputs are not supported
- 'just give me raw input, I'll put it to other bash command' is not supported
That's my complains, but walk over bugtracker of typer to see what's in demand.
unix sockets in SSH-over-HTTP
Do you use SSH? I guess you do, since you're on github.
I've been using unix sockets (UDS) as endpoints for containers for a while now, and it (mostly) rocks.
Several similar containers can live on the same instance, and each mounts a folder with UDS (multiple services usually).
Domain sockets can provide access to various web-servers, and almost anything can serve from UDS.
(If you use TCP port forwarding for containers, try using UDS, you may like it much better, specially if you manage many endpoints or containers!
No security issues, and you can easily add/remove sockets on the fly and without port clashes!
Spice with using symlinks for synonyms, and network management stops being ugly.)
Back to the point: openssh-server does not support serving on unix socket, so I use ugly hack with socat redirecting request to TCP port.
Openssh-client does not support connecting to domain socket (easy to fix this in config though).
While (unmerged) patches are available to support UDS in openssh, I'm on the market for something next-gen,
e.g. something like SSH3 + serving/connecting to unix sockets.
no-std rust barcode scanner rxing solved it
At some point I've been looking for a barcode scanner that I could embed in web page via WASM,
and from python too.
Nothing was available at that point, but @hschimke kindly added support of WASM target and CLI to his rust project,
and I recommend giving it a try. I could use it on different cell phones right from web page.
interactive playground for einops in jupyterlite
see this issue for details:
Remarks related to all project above
What exactly I am ready to help with (details)
If you think taking one of these projects, I am happy to test your solution, provide detailed user feedback, maybe test in prodiction, and if it works, cover it here or in my blog.
(or einops docs if it is relevant to einops).
Note that doesn't include development, but programming is something enjoyable,
while finding someone interested in using your work is usually non-trivial 🙂.
-
einops
Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)
Python ★ 9.5k 21d agoExplain → -
python3_with_pleasure
A short guide on features of Python 3 with examples
★ 3.6k 5y agoExplain → -
hep_ml
Machine Learning for High Energy Physics.
Jupyter Notebook ★ 198 6mo agoExplain → -
3d_nn
Raymarching neural network in browsers with WebGL shaders
JavaScript ★ 197 3mo agoExplain → -
infiniteboost
InfiniteBoost: building infinite ensembles with gradient descent
Jupyter Notebook ★ 183 7y agoExplain → -
eindex
Multidimensional indexing for tensors
Jupyter Notebook ★ 143 2y agoExplain → -
arogozhnikov.github.io
'Brilliantly wrong' blog, Machine Learning visualizations live here
HTML ★ 133 29d agoExplain → -
adamw_bfloat16
AdamW optimizer for bfloat16 models in pytorch 🔥.
Python ★ 40 2y agoExplain → -
readable_capsnet
Blazingly fast capsule networks in 75 lines of pytorch+einops
Python ★ 28 4y agoExplain → -
demuxalot
Reliable, scalable, efficient demultiplexing for single-cell RNA sequencing
Python ★ 26 11mo agoExplain → -
rtg_score
Rank-To-Group score evaluates contribution of confounding factors
Jupyter Notebook ★ 22 4y agoExplain → -
DeepMMD-GAN
Yet another (very simple) approach for adversarial training.
Jupyter Notebook ★ 17 8y agoExplain → -
cats
Test of algorithms on highly-categorical data
Jupyter Notebook ★ 11 9y agoExplain → -
YSDA_ICL
Materials for the course of machine learning at Imperial College
★ 7 11y agoExplain → -
OBDT
Pruning experiments
Python ★ 5 10y agoExplain → -
FakeLeptons
FakeLeptons recognition for CMS experiment
★ 4 11y agoExplain → -
AgentNet ⑂
A lightweight library to build and train Deep Reinforcement Learning agents using Theano+Lasagne
Python ★ 3 10y agoExplain → -
rep ⑂
Machine Learning toolbox for Humans
Jupyter Notebook ★ 3 10y agoExplain → -
MLatImperial2017 ⑂
Materials for the course of machine learning at Imperial College organized by YSDA
Jupyter Notebook ★ 3 9y agoExplain → -
iview5d
Extremely simplistic viewer of small ndimensional patches for jupyter notebook. Powered by einops
Jupyter Notebook ★ 3 5y agoExplain → -
GW150914 ⑂
:wavy_dash::earth_africa::wavy_dash: Analyse GW150914 (gravitational waves)
Jupyter Notebook ★ 2 10y agoExplain → -
REP_tutorial ⑂
Examples of using yandex/rep framework
Jupyter Notebook ★ 2 10y agoExplain → -
mlhep2016 ⑂
MLHEP 2016 materials
Jupyter Notebook ★ 2 10y agoExplain → -
pytorch ⑂
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Python ★ 2 8y agoExplain → -
tcr-matching
Learning T-cell immunity *without* knowing peptides
Jupyter Notebook ★ 2 2y agoExplain → -
giga-levenshtein
Super-fast computation of levenshtein distances
Rust ★ 1 1mo agoExplain → -
jupyterlite ⑂
jupyterlite + download-the-folder plugin
TypeScript ★ 1 4mo agoExplain → -
arogozhnikov
No description.
★ 1 4mo agoExplain → -
microANARCI
Minified version of ANARCI, pip-installable
Python ★ 1 7mo agoExplain → -
r2_fsspec
Support of r2 storage in fsspec as r2://
Python ★ 1 1y agoExplain → -
s3fs ⑂
S3 Filesystem
Python ★ 1 1y agoExplain → -
MLatImperial2016 ⑂
Materials for the course of machine learning at Imperial College organized by YSDA
Jupyter Notebook ★ 1 9y agoExplain → -
dt ⑂
No description.
Python ★ 1 9y agoExplain → -
MLAtGradDays2017 ⑂
Machine Learning session on Grad Days at Heidelberg university 2017
Jupyter Notebook ★ 1 9y agoExplain → -
incubator-mxnet ⑂
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
C++ ★ 1 7y agoExplain → -
demuxlet ⑂
Genetic multiplexing of barcoded single cell RNA-seq
C++ ★ 1 6y agoExplain → -
scanpy ⑂
Single-Cell Analysis in Python. Scales to >1M cells.
★ 1 6y agoExplain → -
kronecker-attention-pytorch ⑂
Implementation of Kronecker Attention in Pytorch
★ 1 5y agoExplain → -
pysam ⑂
Pysam is a Python module for reading and manipulating SAM/BAM/VCF/BCF files. It's a lightweight wrapper of the htslib C-API, the same one that powers samtools, bcftools, and tabix.
C ★ 1 5y agoExplain → -
mlp-mixer-pytorch ⑂
An All-MLP solution for Vision, from Google AI
★ 1 5y agoExplain → -
mint ⑂
Multi-modal Content Creation Model Training Infrastructure including the FACT model (AI Choreographer) implementation.
★ 1 4y agoExplain → -
cellxgene-gateway ⑂
Cellxgene Gateway allows you to use the Cellxgene Server provided by the Chan Zuckerberg Institute (https://github.com/chanzuckerberg/cellxgene) with multiple datasets.
★ 1 4y agoExplain → -
streamlit-aggrid ⑂
Implementation of Ag-Grid component for Streamlit
★ 1 3y agoExplain → -
numpy ⑂
Numpy main repository
C ★ 1 3y agoExplain → -
cupy ⑂
NumPy & SciPy for GPU
Python ★ 1 3y agoExplain → -
tooltool
Personal tools used in various places
Python ★ 1 2y agoExplain → -
sloths
when pandas is too much hassle
★ 1 2y agoExplain → -
microDockQ
minified, pip-installable version of DockQ metric
Python ★ 1 2y agoExplain → -
micro-openfold ⑂
update openfold code to make it pip-installable in 2024. Skips compiling binaries
Python ★ 1 1y agoExplain → -
pyinfra ⑂
pyinfra with support of local UDS
Python ★ 0 3mo agoExplain → -
pyTMHMM ⑂
Fork of TMHMM (TransMembrane helix Hidden Markov Model) with pre-compiled binaries
Python ★ 0 4mo agoExplain → -
jaxtyping ⑂
<fork of jaxtyping with fewer checks>
★ 0 6mo agoExplain → -
promb ⑂
Humanness of de-novo designed proteins
★ 0 1y agoExplain → -
ColabDesign ⑂
ColabDesign without notebooks
Python ★ 0 1y agoExplain →
No repos match these filters.