Categories
Misc

A Grand Slam: GFN Thursday Scores 1,000th PC Game, Streaming Instantly on GeForce NOW

This GFN Thursday marks a new millennium for GeForce NOW. By adding 13 games this week, our cloud game-streaming service now offers members instant access to 1,000 PC games. That’s 1,000 games that members can stream instantly to underpowered PCs, Macs, Chromebooks, SHIELD TVs, Android devices, iPhones and iPads. Devices that otherwise wouldn’t dream of Read article >

The post A Grand Slam: GFN Thursday Scores 1,000th PC Game, Streaming Instantly on GeForce NOW appeared first on The Official NVIDIA Blog.

Categories
Misc

Starting to think about AI Fairness

The topic of AI fairness metrics is as important to society as it is confusing. Confusing it is due to a number of reasons: terminological proliferation, abundance of formulae, and last not least the impression that everyone else seems to know what they’re talking about. This text hopes to counteract some of that confusion by starting from a common-sense approach of contrasting two basic positions: On the one hand, the assumption that dataset features may be taken as reflecting the underlying concepts ML practitioners are interested in; on the other, that there inevitably is a gap between concept and measurement, a gap that may be bigger or smaller depending on what is being measured. In contrasting these fundamental views, we bring together concepts from ML, legal science, and political philosophy.

Categories
Offsites

Starting to think about AI Fairness

The topic of AI fairness metrics is as important to society as it is confusing. Confusing it is due to a number of reasons: terminological proliferation, abundance of formulae, and last not least the impression that everyone else seems to know what they’re talking about. This text hopes to counteract some of that confusion by starting from a common-sense approach of contrasting two basic positions: On the one hand, the assumption that dataset features may be taken as reflecting the underlying concepts ML practitioners are interested in; on the other, that there inevitably is a gap between concept and measurement, a gap that may be bigger or smaller depending on what is being measured. In contrasting these fundamental views, we bring together concepts from ML, legal science, and political philosophy.

Categories
Misc

ValueError: Dimensions must be equal

ValueError: Dimensions must be equal

This is the error message I got.

ValueError: Dimensions must be equal but are 9 and 4 for ‘{{node mean_absolute_percentage_error/sub}} = Sub[T=DT_FLOAT](IteratorGetNext:1, sequential_5/dense_11/Sigmoid)’ with input shapes: [32,9,4,4], [32,4,9,4].

But my output and my y are the same shapes

https://preview.redd.it/whz4e8oy78b71.png?width=2212&format=png&auto=webp&s=82f480c5e51a307de44dd219aae721d3810ce9b6

submitted by /u/Striking-Warning9533
[visit reddit] [comments]

Categories
Misc

Uses for image_dataset_from_directory?

I have my file structure set up so that each class of images has its own directory.

I’m a bit confused on how to use image_dataset_from_directory to separate the data into train and val. If I set the subset parameter to train, then will the subset parameter tell it the fraction to use for train, and the same for if I set the subset parameter to validation?

Thanks!

submitted by /u/llub888
[visit reddit] [comments]

Categories
Misc

Build a Fully Interactive Dashboard in a Few Lines of Python

Work continues on improving the UX and capabilities of our GPU cross-filter dashboard library, cuxfilter. Here is a quick recap of its latest features.  First, it is as easy as ever to access cuxfilter. Just run a standard RAPIDS install as shown in the getting started page. Additionally, you can try it online at PaperSpace. … Continued

Work continues on improving the UX and capabilities of our GPU cross-filter dashboard library, cuxfilter. Here is a quick recap of its latest features. 

First, it is as easy as ever to access cuxfilter. Just run a standard RAPIDS install as shown in the getting started page. Additionally, you can try it online at PaperSpace. One of the powerful benefits of a full RAPIDS installation means you can work on your data and visualize it within a single jupyter notebook or lab instance.

 Figure 1: Using cuxfilter to build a full interactive dashboard in a few lines of Python.

Here is a list of some of the major feature highlights:

  • High-density scatter, line, heatmap, and graph charts through Datashader. Also, choropleth maps from Deck.gl, and bar and line charts from bokeh.
  • A fully responsive, customizable layout with a widget side panel.
  • Themes, such as the dark one shown preceding. 
  • A preview feature using await d.preview() that generates a .png image of the full dashboard inline with your notebook.
  • Ability to export the selected data in an active dashboard by using the d.export() call. 
  • Ability to deploy as a standalone application (outside of a notebook), as explained in our documentation for deploying multiuser dashboards.

You can try all these and more features in our tutorial notebook, and follow along in our tutorial video. The screenshot shown in figure 2 is one of the dashboards created. A compelling example of how to combine RAPIDS libraries together to quickly create powerful cross-filterable dashboards in just a few lines of python.

Figure 2: Screenshot of double graph dashboard from gist below

Going forward, we continue to improve cuxfilter and use it to collaborate with the enormous python viz community, such as bokeh, holoviews, panel, and datashader projects. We encourage you to try it out, and as always, if you have any issues with feature requests, let us know on our GitHub. Happy cross-filtering!

Resources:

Categories
Offsites

From Vision to Language: Semi-supervised Learning in Action…at Scale

Supervised learning, the machine learning task of training predictive models using data points with known outcomes (i.e., labeled data), is generally the preferred approach in industry because of its simplicity. However, supervised learning requires accurately labeled data, the collection of which is often labor intensive. In addition, as model efficiency improves with better architectures, algorithms, and hardware (GPUs / TPUs), training large models to achieve better quality becomes more accessible, which, in turn, requires even more labeled data for continued progress.

To mitigate such data acquisition challenges, semi-supervised learning, a machine learning paradigm that combines a small amount of labeled data with a large amount of unlabeled data, has recently seen success with methods such as UDA, SimCLR, and many others. In our previous work, we demonstrated for the first time that a semi-supervised learning approach, Noisy Student, can achieve state-of-the-art performance on ImageNet, a large-scale academic benchmark for image classification, by utilizing many more unlabeled examples.

Inspired by these results, today we are excited to present semi-supervised distillation (SSD), a simplified version of Noisy Student, and demonstrate its successful application to the language domain. We apply SSD to language understanding within the context of Google Search, resulting in high performance gains. This is the first successful instance of semi-supervised learning applied at such a large scale and demonstrates the potential impact of such approaches for production-scale systems.

Noisy Student Training
Prior to our development of Noisy Student, there was a large body of research into semi-supervised learning. In spite of this extensive research, however, such systems typically worked well only in the low-data regime, e.g., CIFAR, SVHN, and 10% ImageNet. When labeled data were abundant, such models were unable to compete with fully supervised learning systems, which prevented semi-supervised approaches from being applied to important applications in production, such as search engines and self-driving cars. This shortcoming motivated our development of Noisy Student Training, a semi-supervised learning approach that worked well in the high-data regime, and at the time achieved state-of-the-art accuracy on ImageNet using 130M additional unlabeled images.

Noisy Student Training has 4 simple steps:

  1. Train a classifier (the teacher) on labeled data.
  2. The teacher then infers pseudo-labels on a much larger unlabeled dataset.
  3. Then, it trains a larger classifier on the combined labeled and pseudo-labeled data, while also adding noise (noisy student).
  4. (Optional) Going back to step 2, the student may be used as a new teacher.
An illustration of Noisy Student Training through four simple steps. We use two types of noise: model noise (DropoutStochastic Depth) and input noise (data augmentation, such as RandAugment).

One can view Noisy Student as a form of self-training, because the model generates pseudo-labels with which it retrains itself to improve performance. A surprising property of Noisy Student Training is that the trained models work extremely well on robustness test sets for which it was not optimized, including ImageNet-A, ImageNet-C, and ImageNet-P. We hypothesize that the noise added during training not only helps with the learning, but also makes the model more robust.

Examples of images that are classified incorrectly by the baseline model, but correctly by Noisy Student. Left: An unmodified image from ImageNet-A. Middle and Right: Images with noise added, selected from ImageNet-C. For more examples including ImageNet-P, please see the paper.

Connections to Knowledge Distillation
Noisy Student is similar to knowledge distillation, which is a process of transferring knowledge from a large model (i.e., the teacher) to a smaller model (the student). The goal of distillation is to improve speed in order to build a model that is fast to run in production without sacrificing much in quality compared to the teacher. The simplest setup for distillation involves a single teacher and uses the same data, but in practice, one can use multiple teachers or a separate dataset for the student.

Simple illustrations of Noisy Student and knowledge distillation.

Unlike Noisy Student, knowledge distillation does not add noise during training (e.g., data augmentation or model regularization) and typically involves a smaller student model. In contrast, one can think of Noisy Student as the process of “knowledge expansion”.

Semi-Supervised Distillation
Another strategy for training production models is to apply Noisy Student training twice: first to get a larger teacher model T’ and then to derive a smaller student S. This approach produces a model that is better than either training with supervised learning or with Noisy Student training alone. Specifically, when applied to the vision domain for a family of EfficientNet models, ranging from EfficientNet-B0 with 5.3M parameters to EfficientNet-B7 with 66M parameters, this strategy achieves much better performance for each given model size (see Table 9 of the Noisy Student paper for more details).

Noisy Student training needs data augmentation, e.g., RandAugment (for vision) or SpecAugment (for speech), to work well. But in certain applications, e.g., natural language processing, such types of input noise are not readily available. For those applications, Noisy Student Training can be simplified to have no noise. In that case, the above two-stage process becomes a simpler method, which we call Semi-Supervised Distillation (SSD). First, the teacher model infers pseudo-labels on the unlabeled dataset from which we then train a new teacher model (T’) that is of equal-or-larger size than the original teacher model. This step, which is essentially self-training, is then followed by knowledge distillation to produce a smaller student model for production.

An illustration of Semi-Supervised Distillation (SSD), a 2-stage process that self-trains an equal-or-larger teacher (T’) before distilling to a student (S).

Improving Search
Having succeeded in the vision domain, an application in the language understanding domain, like Google Search, is a logical next step with broader user impact. In this case, we focus on an important ranking component in Search, which builds on BERT to better understand languages. This task turns out to be well-suited for SSD. Indeed, applying SSD to the ranking component to better understand the relevance of candidate search results to queries achieved one of the highest performance gains among top launches at Search in 2020. Below is an example of a query where the improved model demonstrates better language understanding.

With the implementation of SSD, Search is able to find documents that are more relevant to user queries.

Future Research & Challenges
We have presented a successful instance of semi-supervised distillation (SSD) in the production scale setting of Search. We believe SSD will continue changing the landscape of machine learning usage in the industry from predominantly supervised learning to semi-supervised learning. While our results are promising, there is still much research needed in how to efficiently utilize unlabeled examples in the real world, which is often noisy, and apply them to various domains.

Acknowledgements
Zhenshuai Ding, Yanping Huang, Elizabeth Tucker, Hai Qian, and Steve He contributed immensely to this successful launch. The project would not have succeeded without contributions from members of both the Brain and Search teams: Shuyuan Zhang, Rohan Anil, Zhifeng Chen, Rigel Swavely, Chris Waterson, Avinash Atreya. Thanks to Qizhe Xie and Zihang Dai for feedback on the work. Also, thanks to Quoc Le, Yonghui Wu, Sundeep Tirumalareddy, Alexander Grushetsky, Pandu Nayak for their leadership support.

Categories
Misc

eCommerce and Open Ethernet: Criteo Clicks with SONiC

When you see a browser ad for a new restaurant, or the perfect gift for that hard-to-please family member, you probably aren’t thinking about the infrastructure used to deliver that ad. However, that infrastructure is what allows advertising companies like Criteo to provide these insights. The NVIDIA networking portfolio is essential to Criteo technology stack. … Continued

When you see a browser ad for a new restaurant, or the perfect gift for that hard-to-please family member, you probably aren’t thinking about the infrastructure used to deliver that ad. However, that infrastructure is what allows advertising companies like Criteo to provide these insights. The NVIDIA networking portfolio is essential to Criteo technology stack.

Criteo is an online advertising platform, the tier between digital advertisers and publishers. This business requires Criteo to solve problems related to quantities of “web scale.” Criteo processes hundreds of billions of dollars in sales, driven by billions of ads a day over tens of thousands of servers, thousands of networking devices, and terabits of east-west traffic per second. The communication within and between Criteo’s 10 data centers (across three continents) is of paramount importance, with the network taking center stage.

Moving away from lock-in

Starting in 2014, Criteo embarked on an initiative to completely overhaul their networking strategy, modernizing infrastructure, and reducing costs. By multisourcing hardware from different vendors, Criteo would be able to reduce costs, gain more flexibility in the procurement process, and become less dependent on individual vendor supply chains.

Criteo's networking journey including monolithic era, multi-vendor, and network agility.
Figure 1. Criteo’s journey to change their networking approach started in 2014 and continues today

 

With a new hardware approach, software came next. Criteo needed their OS to be compatible with their networking automation stack, consisting of in-house, hardware-agnostic tooling built mostly in Python. However, each new OS added to the mix would require unique updates to the rest of the stack to support it. Additionally, while vendor hardware was often affordable, the proprietary software attached ballooned the budget. 

Picking one OS for all the platforms solved both problems. Enter SONiC: after attending the Open Compute Project (OCP) Global Summit, Criteo began to evaluate the NOS in early 2018. As an open-source OS conceived by Microsoft and the OCP to meet the needs of the hyperscalers, SONiC had the design and functionality to meet Criteo’s needs. Moreover, SONiC’s openness meshed perfectly with Criteo’s flexible hardware sourcing strategy and would fully unlock their networking stack.

Turning over a New Leaf with NVIDIA

More than viewing NVIDIA as just a vendor, Criteo and NVIDIA partner on SONiC, with NVIDIA maintaining and developing SONiC’s feature set, and Criteo helping provide input. This comes from the way NVIDIA offers SONiC to customers. Rather than build a proprietary branch from the community releases, NVIDIA supports the community release of the OS as “pure SONiC,” without any add-ons. As one of the leading contributors to the SONiC codebase, NVIDIA is uniquely positioned to influence SONiC’s roadmap, and make Criteo’s visions a reality. 

Additionally, with NVIDIA providing ASIC-to-Protocol (A2P) support, the network team can fully rely on NVIDIA to offload and triage networking issues at any level with minimal interruption. Criteo also benefits from the reach of NVIDIA in the space. NVIDIA develops the features and uploads them into the community main branch, maintaining a pure SONiC commitment and allowing Criteo freedom of choice.

Timeline of Criteo evaluation and achievements with SONiC.
Figure 2. Criteo was an early adopter of SONiC in 2018, working through early challenges on the way to full data center rollout

Summary

Evaluating the mission, the goals of Criteo’s 2014 project are on target, with costs being brought under control, deployment flexibility growing, and a network team that has picked up some handy DevOps + CI/CD skills. But the goal remains a work in progress; Criteo sees a day when all infrastructure, including their management network, is running SONiC, with truly one NOS to rule them all. So next time, when you see that killer ad, maybe you’ll also think about the network fabric that makes it possible.

For more information see the following resources:

Categories
Misc

NVIDIA’s Liila Torabi Talks the New Era of Robotics Through Isaac Sim

Robots are not just limited to the assembly line. At NVIDIA, Liila Torabi works on making the next generation of robotics possible. Torabi is the senior product manager for Isaac Sim, a robotics and AI simulation platform powered by NVIDIA Omniverse. Torabi spoke with NVIDIA AI Podcast host Noah Kravitz about the new era of Read article >

The post NVIDIA’s Liila Torabi Talks the New Era of Robotics Through Isaac Sim appeared first on The Official NVIDIA Blog.

Categories
Misc

Tensorflow working in python2 not python3

Hey All, I’m facing a very weird issue with tensorflow on my remote GPU machine.

When i do import tensorflow in python2, it seems to work. However, it doesn’t work in python3.

How is this happening? Has someone faced this before and knows the fix to this?

submitted by /u/Conanobrain
[visit reddit] [comments]