<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: perturbation</title><link>https://news.ycombinator.com/user?id=perturbation</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 19:05:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=perturbation" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by perturbation in "Francois Chollet is leaving Google"]]></title><description><![CDATA[
<p>I think a lot of these may have improved since your last experience with Keras. It's pretty easy to override the training loop and/or make custom loss. The below is for overriding training / test step altogether, custom loss is easier by making a new loss function/class.<p><a href="https://keras.io/examples/keras_recipes/trainer_pattern/" rel="nofollow">https://keras.io/examples/keras_recipes/trainer_pattern/</a><p>> - Keras's training loop assumes you can fit all the data in memory and that the data is fully preprocessed, which in the world of LLMs and big data is infeasible.<p>The Tensorflow backend has the excellent tf.data.Dataset API, which allows for out of core data and processing in a streaming way.</p>
]]></description><pubDate>Thu, 14 Nov 2024 01:38:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42132254</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=42132254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42132254</guid></item><item><title><![CDATA[New comment by perturbation in "PyTorch 2.0"]]></title><description><![CDATA[
<p>The big thing that PyTorch Mobile is lacking compared to TF Lite is on-device accelerator support (GPU/DSP/etc.) (there's experimental support for NNAPI <a href="https://pytorch.org/tutorials/prototype/nnapi_mobilenetv2.html" rel="nofollow">https://pytorch.org/tutorials/prototype/nnapi_mobilenetv2.ht...</a>, but this is a hack).</p>
]]></description><pubDate>Sat, 03 Dec 2022 04:34:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=33840634</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=33840634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33840634</guid></item><item><title><![CDATA[New comment by perturbation in "Swift for TensorFlow Shuts Down"]]></title><description><![CDATA[
<p>Let's hope not, I like autodiff (and this project :( ).</p>
]]></description><pubDate>Sat, 13 Feb 2021 05:54:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=26121727</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=26121727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26121727</guid></item><item><title><![CDATA[New comment by perturbation in "Apple machine learning in 2020: What’s new?"]]></title><description><![CDATA[
<p>> To return to the point about image augmentations being hard to add: It's so easy to explain what your training code should do "Just distort the hue a bit" and there seem to be operations explicitly for that: <a href="https://www.tensorflow.org/api_docs/python/tf/image/adjust_h.." rel="nofollow">https://www.tensorflow.org/api_docs/python/tf/image/adjust_h...</a>. but when you go to train with them, you'll discover that backpropagation isn't implemented, i.e. they break in training code.<p>Why not do the data augmentation during preprocessing (so that the transformations don't have to be done by differentiable transforms)?  I.e., map over a tf.Dataset with the transformation (and append to the original dataset).</p>
]]></description><pubDate>Tue, 30 Jun 2020 14:32:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=23690403</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=23690403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23690403</guid></item><item><title><![CDATA[New comment by perturbation in "Ask HN: Non-cloud voice recognition for home use?"]]></title><description><![CDATA[
<p>If you don't mind getting your hands dirty a bit, I think Nvidia's model [Jasper](<a href="https://arxiv.org/pdf/1904.03288.pdf" rel="nofollow">https://arxiv.org/pdf/1904.03288.pdf</a>) is near SOTA, and they have [pretrained models](<a href="https://ngc.nvidia.com/catalog/models/nvidia:jaspernet10x5dr" rel="nofollow">https://ngc.nvidia.com/catalog/models/nvidia:jaspernet10x5dr</a>) and [tutorials / scripts](<a href="https://nvidia.github.io/NeMo/asr/tutorial.html" rel="nofollow">https://nvidia.github.io/NeMo/asr/tutorial.html</a>) freely available.  The first is in their library "nemo", but they also have it available in [vanilla Pytorch](<a href="https://github.com/NVIDIA/DeepLearningExamples/tree/master/PyTorch/SpeechRecognition/Jasper" rel="nofollow">https://github.com/NVIDIA/DeepLearningExamples/tree/master/P...</a>) as well.</p>
]]></description><pubDate>Sat, 14 Mar 2020 17:20:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=22576874</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=22576874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22576874</guid></item><item><title><![CDATA[New comment by perturbation in "Show HN: Train a language model to talk like you"]]></title><description><![CDATA[
<p>This is cool - might be worth training a simple discriminator model to identify <i>your</i> utterances, and then you can use the plug-and-play language model (PPLM - <a href="https://github.com/huggingface/transformers/blob/master/examples/pplm/run_pplm.py" rel="nofollow">https://github.com/huggingface/transformers/blob/master/exam...</a>) to generate utterances modeling a specific speaker without special tokens.  Could also take less time to fine-tune.</p>
]]></description><pubDate>Tue, 21 Jan 2020 17:38:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=22109182</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=22109182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22109182</guid></item><item><title><![CDATA[New comment by perturbation in "Nim vs. Crystal"]]></title><description><![CDATA[
<p>Ah, thank you for explaining!  That makes sense.</p>
]]></description><pubDate>Thu, 26 Dec 2019 18:44:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=21885766</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=21885766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21885766</guid></item><item><title><![CDATA[New comment by perturbation in "Nim vs. Crystal"]]></title><description><![CDATA[
<p>Additionally, the Nim code was not compiled with many optimizations turned on!  (I.e., without -d:release).<p><pre><code>    $ nim c -o:base64_test_nim -d:danger --cc:gcc --verbosity:0 base64_test.nim

    $ nim c -o:json_test_nim -d:danger --cc:gcc --verbosity:0 json_test.nim
</code></pre>
IIRC the -d:danger flag is necessary for some optimizations (like disabling bounds checking) but -d:release is necessary for most optimizations to be enabled.<p>Edit: It appears I'm incorrect, -d:danger does imply -d:release in newer Nim versions.</p>
]]></description><pubDate>Thu, 26 Dec 2019 18:21:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=21885611</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=21885611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21885611</guid></item><item><title><![CDATA[New comment by perturbation in "Nim vs. Crystal"]]></title><description><![CDATA[
<p>Another thing I noticed: the Nim code was compiled without the -d:release flag.<p>For example, the JSON test was compiled with:<p><pre><code>    $ nim c -o:json_test_nim -d:danger --cc:gcc --verbosity:0 json_test.nim
</code></pre>
I don't think that the -d:danger implies release (even if necessary to do things like disable bounds checking)?</p>
]]></description><pubDate>Thu, 26 Dec 2019 18:17:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=21885588</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=21885588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21885588</guid></item><item><title><![CDATA[New comment by perturbation in "Foundations of Data Science [pdf]"]]></title><description><![CDATA[
<p>I'd recommend Elements of Statistical Learning or ISLR instead, if you want to start with a theory-heavy introduction.  Most of what you need for DS you'd I think better learn through projects or on-the-job.<p>Also, as others have mentioned, some of the most important skills for DS are data munging, data "presentation", and soft skills like managing expectations / relationships / etc.<p>I would not recommend this book if you want to get into DS with the idea that, "I'll read this and then I'll know everything I need to."  It's too dense and academically-focused, and it would probably be discouraging if you try to read this all without getting your feet wet.</p>
]]></description><pubDate>Mon, 07 Oct 2019 15:50:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=21182299</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=21182299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21182299</guid></item><item><title><![CDATA[New comment by perturbation in "Nim 1.0"]]></title><description><![CDATA[
<p>Congrats guys!!! This has been much-anticipated and I'm very excited.  I personally wish that the owned reference stuff (<a href="https://nim-lang.org/araq/ownedrefs.html" rel="nofollow">https://nim-lang.org/araq/ownedrefs.html</a>) <i>had</i> been part of 1.0, but I think that at some point shipping 1.0 >> everything else.<p>I've been following (and evangelizing) Nim for a while, this will make it easier to do so.</p>
]]></description><pubDate>Mon, 23 Sep 2019 20:35:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=21053318</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=21053318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21053318</guid></item><item><title><![CDATA[New comment by perturbation in "Deep learning outperformed dermatologists in melanoma image classification task"]]></title><description><![CDATA[
<p>> * They measure the wrong things that reward the network. Because the dataset is imbalanced you can't use an ROC curve, sensitivity, or specificity. You need to use precision and recall and make a PR curve. This is machine learning and stats 101.<p>A̶F̶A̶I̶K̶,̶ ̶a̶ ̶R̶O̶C̶ ̶c̶u̶r̶v̶e̶ ̶c̶a̶n̶ ̶b̶e̶ ̶m̶i̶s̶l̶e̶a̶d̶i̶n̶g̶ ̶f̶o̶r̶ ̶a̶n̶ ̶i̶m̶b̶a̶l̶a̶n̶c̶e̶d̶ ̶d̶a̶t̶a̶s̶e̶t̶,̶ ̶b̶u̶t̶ ̶t̶h̶e̶ ̶A̶U̶C̶ ̶i̶s̶ ̶s̶t̶i̶l̶l̶ ̶o̶k̶a̶y̶ ̶f̶o̶r̶ ̶s̶e̶l̶e̶c̶t̶i̶n̶g̶ ̶m̶o̶d̶e̶l̶s̶.̶ Edit: This is incorrect, a PR curve + PR AUC should be used for model selection if imbalanced.  I agree it would be really misleading if they (say) just reported accuracy (since the null classifier of always guess negative would give 80% overall accuracy).  I̶ ̶t̶h̶o̶u̶g̶h̶t̶ ̶t̶h̶a̶t̶ ̶t̶h̶e̶ ̶A̶U̶C̶ ̶f̶o̶r̶ ̶R̶O̶C̶ ̶c̶u̶r̶v̶e̶ ̶s̶h̶o̶u̶l̶d̶ ̶s̶t̶i̶l̶l̶ ̶b̶e̶ ̶a̶ ̶v̶a̶l̶i̶d̶ ̶m̶e̶a̶s̶u̶r̶e̶ ̶s̶i̶n̶c̶e̶ ̶i̶t̶'̶s̶ ̶s̶h̶o̶w̶i̶n̶g̶ ̶h̶o̶w̶ ̶m̶u̶c̶h̶ ̶b̶e̶t̶t̶e̶r̶ ̶t̶h̶e̶ ̶m̶o̶d̶e̶l̶ ̶p̶e̶r̶f̶o̶r̶m̶s̶ ̶t̶h̶a̶n̶ ̶r̶a̶n̶d̶o̶m̶ ̶g̶u̶e̶s̶s̶i̶n̶g̶.̶<p>How do you usually handle imbalanced data?  I've had some success with SMOTE or weighted loss for imbalanced datasets, but I'm embarrassed to say I've been using AUC with ROC curves as the default - if this gives inferior model selection than AUC with PR curve I'll have to start doing that instead.</p>
]]></description><pubDate>Tue, 30 Apr 2019 18:08:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=19790410</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19790410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19790410</guid></item><item><title><![CDATA[New comment by perturbation in "How to Ace the Google Interview: Ultimate Guide"]]></title><description><![CDATA[
<p><a href="https://github.com/yuki24/did_you_mean#installation" rel="nofollow">https://github.com/yuki24/did_you_mean#installation</a> :<p><pre><code>    Ruby 2.3 and later ships with this gem and it will automatically be required when a Ruby process starts up. No special setup is required.
</code></pre>
It doesn't call the method for you, but it does do the did-you-mean automatically if you misspell and it's close enough.</p>
]]></description><pubDate>Wed, 24 Apr 2019 04:50:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=19735667</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19735667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19735667</guid></item><item><title><![CDATA[New comment by perturbation in "Google launches an end-to-end AI platform"]]></title><description><![CDATA[
<p>AutoML is essentially training a ML model using some heuristics or optimization algorithm to select model architecture and train a model.  Feature engineering / feature synthesis as well as interpretability remain open challenges.<p>If I'm understanding your questions correctly, the main problems I see with this are:<p>- Using raw data instead of feature engineering (less of a problem given feature synthesis libraries like <a href="https://www.featuretools.com/" rel="nofollow">https://www.featuretools.com/</a> and other heuristic methods).  I'd expect Google to do a good job of basic things like normalization of raw input features before training.<p>- Using features that it really shouldn't (if you just throw ML at your database for say, loan applications, then sensitive 
 / personally identifying information can/will be used as features)<p>- Lack of insight / understanding as to what is driving the model.  This can be partially overcome with post-training methods like LIME, Shapley values, etc.<p>I wouldn't expect predictions to be from a set of discrete values - if (say) predicting housing values and training a NN, the output should be continuous and based on the input features.</p>
]]></description><pubDate>Wed, 10 Apr 2019 19:19:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=19627878</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19627878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19627878</guid></item><item><title><![CDATA[New comment by perturbation in "A New Runtime for Nim"]]></title><description><![CDATA[
<p>Disclaimer: I really love Nim and have written a fair amount in it, but I'm not a language designer guy.<p>I like that this will make multithreading easier with shared memory, but I worry this will make the language more complex and delay 1.0.  I'll have to read the linked list examples a few times before the owned pointer model sinks in.</p>
]]></description><pubDate>Tue, 26 Mar 2019 15:24:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=19492677</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19492677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19492677</guid></item><item><title><![CDATA[New comment by perturbation in "D6tflow: Python library for building data science workflows"]]></title><description><![CDATA[
<p>Are you using reticulate (<a href="https://github.com/rstudio/reticulate" rel="nofollow">https://github.com/rstudio/reticulate</a>), or having Python spawn a new worker process for R?</p>
]]></description><pubDate>Sat, 02 Mar 2019 18:53:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=19290526</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19290526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19290526</guid></item><item><title><![CDATA[New comment by perturbation in "Ask HN: Who wants to be hired? (March 2019)"]]></title><description><![CDATA[
<p>Location: Dallas, TX<p>Remote: Yes<p>Technologies: Keras, R, Python, and Spark are what I use ever day.  Jupyter, scikit-learn, spaCy, NLTK, H2O, mlr, caret, prophet, tsfresh, ggplot, and tidyverse packages are libraries that I use commonly.  I'm interested in exploring more with Pytorch but haven't used it much in production.  I'm comfortable with Go, Flask, and Docker (mainly for productionizing models as a microservice) but don't use much in my current role.<p>Willing to relocate: No<p>Resume / CV: <a href="https://docs.google.com/document/d/1bx9MtbzhzMQDsRiX80Sh4GO5siePi5drxLHjfkrAFZU/edit?usp=sharing" rel="nofollow">https://docs.google.com/document/d/1bx9MtbzhzMQDsRiX80Sh4GO5...</a><p>Email: sloanes dot k at gmail dot com<p>---<p>Looking for a data scientist position.</p>
]]></description><pubDate>Sat, 02 Mar 2019 16:49:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=19289915</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19289915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19289915</guid></item><item><title><![CDATA[New comment by perturbation in "JSON with Sqlite"]]></title><description><![CDATA[
<p>Dplyr works great with SQL (both SQLite and others).</p>
]]></description><pubDate>Fri, 01 Mar 2019 19:57:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=19284673</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19284673</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19284673</guid></item><item><title><![CDATA[New comment by perturbation in "AutoML toolkit for neural architecture search and hyper-parameter tuning"]]></title><description><![CDATA[
<p>Their example with LightGBM (<a href="https://nni.readthedocs.io/en/latest/gbdt_example.html" rel="nofollow">https://nni.readthedocs.io/en/latest/gbdt_example.html</a>) is very cool - I wanted to put together a custom script with mlflow + catboost + mlrMBO to do something similar, but this puts everything together in one package.<p>I think this does everything MLFlow does and more (besides maybe helping with deployment?)</p>
]]></description><pubDate>Fri, 01 Mar 2019 17:19:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=19282989</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19282989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19282989</guid></item><item><title><![CDATA[New comment by perturbation in "Leon: An open-source personal assistant"]]></title><description><![CDATA[
<p>Haven't looked at MyCroft before.  It looks like MyCroft exposes less of the nuts-and-bolts of modeling?  I'm not sure where I would plug in a custom entity extraction or intent detection model, but I do see that it lets you add custom 'skills'.</p>
]]></description><pubDate>Fri, 15 Feb 2019 18:17:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=19173272</link><dc:creator>perturbation</dc:creator><comments>https://news.ycombinator.com/item?id=19173272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19173272</guid></item></channel></rss>