I am a big fan of hugging face, but whenever these examples come up, they always seem to be half baked and don’t quite work well, and are not compelling. I think it would behoove them to polish these a little more, in my opinion.
I think that's a feature of GANS more than anything else. Most papers are cherry picking results to a pretty extreme degree so that they look visually impressive but here you're seeing raw results.
I am super familiar with the generative modeling space, have designed them and deployed to real prod, and I will say you’re right that generative modeling results can be hit or miss. But, I was more referring to the page layout, its unreliability (seemed like the author was live debugging in this thread?), poor UX (seems like people can’t easily figure out the page), etc. rather than anything about the model itself (though tbh I also don’t find Pokémon GAN Number 10,000 compelling as a topic). Fundamentally though you do have to always consider results from the latest papers with some baseline skepticism.
Could you give examples of using GAN in prod? Recently there was a discussion on Twitter about the reduced number of GAN papers in the last few years, and some people mentioned that they did not find adoption in industry.
Sure, my team and I created “style transfer” GANs to help people better understand particular data in light of other data (the latter of which is usually easier to understand but not always available in practice). It ended up getting strongly positive feedback from large stakeholders, we secured a large contract to deploy, and deployed / maintain it as a SaaS. I even got a patent for the work! I’m sorry I can’t be too much more specific. But, it’s also partially why I may come across as slightly annoyed with the presentation here — HuggingFace is 100% something with functionality I would have preferred to leverage versus my team needing to handle modeling, training, building, releasing, deploying, SLAs, etc. And I would love to support them. But all the presentations being rudimentary with poor UX makes it difficult for me to use them to convince people of this fact, so it’s harder for me to get buy in from finance than it might otherwise be if HF released polished, well thought out demos.
As an aside. I do not personally feel the future of generative modeling is in generative art or creating new Pokémon or things like that, categories which broadly seem like neat tricks without real world usefulness or at least adoption.
That's awesome. If I may ask, the data you operate on are still image-like grids or do you operate on more basic data types (e.g. strings)?
Personally I'm also working on an industrial application, using a CycleGAN-based system to augment real world data (e.g. training a network to "paint" an object so we can apply traditional computer vision techniques such as a HSV filter to locate the object). It's quite promising for this kind of application, albeit hard to fine-tune.
This is image based, not text based. It’s very useful for a number of applications!
I think your usecase is extremely promising assuming it results in better quality output than just running a modern object detector. Another usecase I don’t have bandwidth for, but would likely be very marketable, is similar to what you’re saying but to allow the use of traditional algos like sift or surf across modalities.
I believe this was made by a community member, huggingface allows people to publish to their model repository to foster more open sharing of work in the ML space. You should look at this as in progress research and not a polished thing, and we should be grateful the space is so open.
Edit: Double checking it looks like they are affiliated with HF but it still is more of an open side project and anyone can contribute to the repository so quality will vary.
The most interesting part I think is how I can't really describe why the results are bad. The colors, art style, silhouettes, etc are all exactly right. But they are just incoherent on a deeper level. Pokemon designs don't all match to living or realistic animals, but they largely do. When I look at these and imagine we made it real, I can't picture it actually being able to live while most pokemon do satisfy this test.
I think this is why its failing. The test and criteria that make it more realistic are too hard for the GAN to work out.
That's my belief about why this (sort of) works where all the previous Pokemon-specific GANs fail so completely: it injects knowledge from ImageNet using a pretrained classifier. ImageNet has a decent number of animals, so some of the knowledge carries over. That makes them more coherent. But it's still going to fall short of the full distribution of animal images out there that SOTA stuff like ruDALL-E-*, GLIDE, ERNIE-ViLG, OFA, or Exaone train on.
I saw this earlier, and while I’ve been using git for many years, I think this graphic made me understand git less. Maybe because most of my usage is committing and resetting things and not doing the more wacky git commands?
I absolutely love it. Tried it for a few days on vacation because the resort had a few, then started doing it at my work gym, then bought one. I was an athlete in high school and college and now in my 30s I’ve tried all kinds of aerobic fitness equipment over the years. It is the most immersive and exciting piece of fitness equipment I’ve ever used, and singularly the only one that has been able to keep my attention as a real option to train versus going outside and running or cycling. I have also heard very similar stories from colleagues.
I think the people calling it a dumb treadmill or saying it can be replaced by YouTube and a used exercise bike are clueless.
`l` needs practically twice as many hole punches as `a` for "array" in my EBCDIC punch cards and fewer punches is less likely a card gets shredded in the reader.
I used to work as a waiter when I was in my first summer out of high school. The calculus was similar there. When it was busy the tables turned as soon as the person got up, so I would often not emphasize dessert. The added $15 on the check from dessert increased my tip a couple dollars, but regular desserts could cause me to lose 1-2 full turns of my section over the course of the evening, so with a four table section of everyone for dessert, I might lose 8 tables total, and if the average tip was $20, I’d lose $160 minus the extra $16 in tip gained from everyone having dessert. Point is, I much preferred quick turns over small per capita increases in per table tips.
In non rush times though where tables didn’t get filled when people left, it made a lot more sense to play up dessert.
From public information it's a matter of price and "appearance." No one who's half serious about understanding how the system work would use cameras alone, but remember of all the companies who's serious about putting self driving cars on the road, Tesla is the only one who designs, manufactures and sells cars. Incidentally, Tesla is also the only car company pushing camera only as a "solution" which again, it is not. All other outfits are tech pure plays, so their incentive is more geared towards a working system, because that's the only thing they can sell aside from the dream. If Tesla fails with a camera-only self driving car system, they can still sell cars. Source: used to work in robotics, all my classmates from grad school work or have worked at a self driving car company.
It sounds very stupid from their side to be stubborn, at least, that just means they have an existential risk to the whole company, if they don't get their fav solution to work.
4. Hardware cost. (even if may have decreased now, the cost of initiating the programme years ago)
5. Training cost / volume of data.
The approach that Tesla is using balances all these things. I can't fully explain why it's so controversial, but I suspect this topic attracts folks from autonomous startups who are using very different approaches, people who repeat what they've heard elsewhere, and the usual anti-Tesla folk.
If you want to know whether Tesla's approach can work, first realise that the sensor suites only help with the 'perception' part of the autonomy problem. Then watch some of the Tesla FSD videos on YouTube and check whether the visualisation seems accurate or not. It's certainly not 100% perfect yet, but it's clear to me that the perception part of the problem is mostly solved. The biggest remaining problems seem behavioural.
As long as Teslas regularly crash into stationary objects because they have no depth sensing system and rely only on camera images, I wouldn't call the perception part of the problem solved.
This sure is a lot of text, but I have no idea the context of what’s going on and haven’t heard any sort of controversy (though this seems related to _some_ controversy). I’m a little surprised they don’t lead in some of the intro paragraphs with some explanation of what’s going on here for those who aren’t privy to the tech controversy of the week.
Crisis Text Line (a service where people having mental health crises can text for support) had, for years, shared chat data with a private company (which it partially owns shares executives with) for use in developing customer service chatbots. They were always very open about this on their website. The company provided a little financial support to CTL in return. There have been no reported incidents of the data being shared or misused. They stopped sharing the data in 2020.
Politico ran an article a few days ago where they interviewed some people employed in privacy and ethics who all said that it seemed pretty weird to do that, and some volunteers for CTL agreed. CTL pretty much right away decided to ask the private company to delete the data (it's not clear if that's happened yet because there is some separation between the two entities) and promised they wouldn't share the data with private companies in the future. CTL continues to use internal data analysis tools to triage incoming texts. They will also continue to share data with academic researchers and other non-profits on a limited basis.
My two cents: this was a really weird arrangement between a non-profit and a private company. It was the right call on CTL's part to stop the data sharing, it should be a good learning for others, but in the end it's a "no harm no foul" situation. CTL has been and continues to be one of the best avenues for crisis support.
This is true with pihole. PiHole is one of my favorite pieces of software and true to this post opening a website off my home network can result in a horrible, ad-ridden experience. But installing PiHole seems to make a number of sites not work, or for example my devices stop updating because they can’t phone home the update server, and it’s difficult to describe to third parties how to address that. All good on my network, but it did take a little targeted whitelisting effort.
Have you ever seen those signs on the back of dump trucks on the highway that state something like, “Stay Back: Truck Driver Not Responsible for Cracked Windshields”?
This is really interesting. Copying to the scratch container is powerful and I’ve used it a lot, regularly, but occasionally something comes up where I need to use a more fully featured base to support things. One other downside I’ve encountered with Scratch is no shell so doing docker exec or kubectl exec doesn’t work. Does anyone know a good solution to this problem?
The Kubernetes folks' solution to this is the addition of `kubectl debug` (added as `kubectl alpha debug` in Kube 1.18, graduated to `kubectl debug` in Kube 1.20) as an alternative to `kubectl exec`. It takes an existing Pod and lets you attach a new container with whichever image you like, so that your production images don't need debugging tools.
Also, before `kubectl debug`[0] existed, you could always edit a Deployment and add a sidecar container of `alpine` or `busybox` and enable process namespace sharing[1] get some leverage to debug with.
Yup it would trigger a restart -- that first link details some other options if restarting the workload is absolutely not an option. You can debug a copy, start a privileged pod, or jump on to the node and actually enter the namespace manually. At the end of the day all these containers are just sandboxed+namespaced processes running on a machine somewhere, so if you can get on that machine with the appropriate permissions then you can get to the process and debug it.
Of course, if you're in a tightly managed environment and can't get on the nodes themselves things get harder, but probably not completely impossible :)
We drop a statically compiled BusyBox binary on images like that as "sh". If we need more we can symlink to it in /tmp at debug time (or just call it directly). It strikes a good balance between slim and debuggable.
An emerging solution I've been investigating is using Nix as a build system for docker. The syntax is fairly lightweight and you can build containers that are scratch + coreutils, or whatever else you decide to put in there.
I was originally turned onto this by a post on the repl.it blog about using Nix this way.
You can also do this with other build systems or using weird docker file hacks by hand.
If you run a single process in a Docker container, have it output logs over STDOUT, and have no meaningful way to interact with it other than shutting it down, you don't have much need for a shell. It can't do anything in the container anyhow. By contrast, if you've basically got a full OS in there, then yeah, a shell is really useful.
I would say most of my Go projects involve what you described (logs to stdout, simple interface) but I often find myself needing a shell to debug my docker build, like ensuring that files have ended up in the correct place, and have the correct contents, within the docker container.
If your stack involves running containers on a Linux machine, you can use `nsenter` to use the debugging tools on the host OS to debug the processes within the container.
In the article they statically link in SQLite, It’s the reason the Go program can just be copied to a scratch image and still work.
You only need gcc during the build fase, that doesn’t change just because you run without Docker.
There’s nothing preventing you from statically link C programs either and have a single binary to deploy either. You just have to rebuild everything every single time security updates are a available. But that no different from Docker images, they need to be rebuild constantly as well.