再過半個多月,Maker Faire Taipei 2018即將盛大登場!屆時,將有許多參展廠商與創客夥伴們齊聚一堂,展出自己的精心之作。而RS DesignSpark也會參與今年的Maker Faire Taipei,並在活動中展出Arduino、Raspberry Pi、Intel Movidius⋯⋯等等應用,分別有盤旋小魚、小型的Pidentifier、Pi-Top物件識別器、Arduino空氣吉他及簡報訓練器。為讓讀者們嚐嚐鮮、過過癮、吃吃味(咦),小編先介紹其中一個作品,Check it out:
There will be no change over time we will drop support for compute capabilities as NVIDIA drops support as CUDA versions increase. It all as to do with budget. GTX 1080TIs are pretty great cards with a nice amount of memory. The RTX cards look cool but I have not purchased one for any type of testing yet. Many of us still use GTX 1080 (non ti) cards and some of us use the Titan V ($3K+taxes) and some Titan XP. I have not seen performance numbers from the RTX cards but I suspect they may match the Titan V. Our workstations are very behind on device drivers so we have to watch out for that as well.
Since you went into the specifics of cards, it seems to me that the RTX 2080 Ti is a great choice, even *better than some Teslas. The only spec that is dramatically worse compared to Teslas is the memory bus width, from a quick look at this monster table. It seems to me that a beefy computer with a few RTXs should be enough even for a small ML team. Also, I feel like Titan is a bit of an overstretch, unless I am missing out on important Volta/Turing architecture differences.
The success of deep learning in computer vision can be partially attributed to the availability of large amounts of labeled training data — a model’s performance typically improves as you increase the quality, diversity and the amount of training data. However, collecting enough quality data to train a model to perform well is often prohibitively difficult. One way around this is to hardcode image symmetries into neural network architectures so they perform better or have experts manually design data augmentation methods, like rotation and flipping, that are commonly used to train well-performing vision models. However, until recently, less attention has been paid to finding ways to automatically augment existing data using machine learning. Inspired by the results of our AutoML efforts to design neural network architectures and optimizers to replace components of systems that were previously human designed, we asked ourselves: can we also automate the procedure of data augmentation?
n “AutoAugment: Learning Augmentation Policies from Data”, we explore a reinforcement learning algorithm which increases both the amount and diversity of data in an existing training dataset. Intuitively, data augmentation is used to teach a model about image invariances in the data domain in a way that makes a neural network invariant to these important symmetries, thus improving its performance. Unlike previous state-of-the-art deep learning models that used hand-designed data augmentation policies, we used reinforcement learning to find the optimal image transformation policies from the data itself. The result improved performance of computer vision models without relying on the production of new and ever expanding datasets.
在”AutoAugment: Learning Augmentation Policies from Data” 這篇論文中,我們探索一種強化學習的演算法,它能增加現存訓練資料集中資料的量和多樣性。直覺上,資料擴增被用來教導模型關於資料域中影像的不變性,在某種程度上使神經網路對這些重要的對稱性也維持不變,因而能改善這個神經網路的效能。不像之前最先進的深度學習模型採用人類設計的的資料擴增策略,我們運用強化學習,從資料本身發現最佳的圖像轉換原則。運用這些原則的結果改善了電腦視覺模型的效能,而無須仰賴新的且不斷變大的資料集。
Augmenting Training Data
The idea behind data augmentation is simple: images have many symmetries that don’t change the information present in the image. For example, the mirror reflection of a dog is still a dog. While some of these “invariances” are obvious to humans, many are not. For example, the mixup method augments data by placing images on top of each other during training, resulting in data which improves neural network performance.
AutoAugment is an automatic way to design custom data augmentation policies for computer vision datasets, e.g., guiding the selection of basic image transformation operations, such as flipping an image horizontally/vertically, rotating an image, changing the color of an image, etc. AutoAugment not only predicts what image transformations to combine, but also the per-image probability and magnitude of the transformation used, so that the image is not always manipulated in the same way. AutoAugment is able to select an optimal policy from a search space of 2.9 x 1032 image transformation possibilities.
AutoAugment是能為電腦視覺資料集設計自定義的資料擴增策略的一種自動化方法。例如,導引如何選擇基本圖像的轉換作業,像是水平或垂直翻轉圖像、旋轉圖像及改變圖像的顏色⋯⋯等等。AutoAugment不僅能預測到要結合哪一種圖像轉換法,還能預測每張圖像的概率,還有圖像轉換的強度,所以圖像不再使用同一種方法來調整。自動擴增技術能從高達2.9 x 1032 種圖像轉換可能性的搜尋空間中找到一個最佳策略。
AutoAugment learns different transformations depending on what dataset it is run on. For example, for images involving street view of house numbers (SVHN) which include natural scene images of digits, AutoAugment focuses on geometric transforms like shearing and translation, which represent distortions commonly observed in this dataset. In addition, AutoAugment has learned to completely invert colors which naturally occur in the original SVHN dataset, given the diversity of different building and house numbers materials in the world.
AutoAugment能根據正在處理的資料集,學習到不同的圖像轉換方式。例如,針對street view of house numbers(SVHN)這套資料集中的圖像,因其中包含真實場景圖像中的各種數字,自動擴增技術便聚焦於幾何轉換,像是歪斜和位移,代表這個資料集中常見的資料失真情況。此外,自動擴增技術已完整學會如何將顏色反轉,而這樣的情況在原始的SVHN資料集中相當常見,原因是考慮到真實世界中的各種不同的建築物和房屋門牌號碼材質。
On CIFAR-10 and ImageNet, AutoAugment does not use shearing because these datasets generally do not include images of sheared objects, nor does it invert colors completely as these transformations would lead to unrealistic images. Instead, AutoAugment focuses on slightly adjusting the color and hue distribution, while preserving the general color properties. This suggests that the actual colors of objects in CIFAR-10 and ImageNet are important, whereas on SVHN only the relative colors are important.
Results
Our AutoAugment algorithm found augmentation policies for some of the most well-known computer vision datasets that, when incorporated into the training of the neural network, led to state-of-the-art accuracies. By augmenting ImageNet data we obtain a new state-of-the-art accuracy of 83.54% top1 accuracy and on CIFAR10 we achieve an error rate of 1.48%, which is a 0.83% improvement over the default data augmentation designed by scientists. On SVHN, we improved the state-of-the-art error from 1.30% to 1.02%. Importantly, AutoAugment policies are found to be transferable — the policy found for the ImageNet dataset could also be applied to other vision datasets (Stanford Cars, FGVC-Aircraft, etc.), which in turn improves neural network performance.
We are pleased to see that our AutoAugment algorithm achieved this level of performance on many different competitive computer vision datasets and look forward to seeing future applications of this technology across more computer vision tasks and even in other domains such as audio processing or language models. The policies with the best performance are included in the appendix of the paper, so that researchers can use them to improve their models on relevant vision tasks.
Program the micro:bit using Javascript Blocks on your Windows 10 device. In addition to the familiar features of the web editor, the app lets you program your micro:bit over USB (without needing to drag-and-drop the file onto the micro:bit drive) and directly read serial data from your micro:bit for data logging and other fun experiments!
Take the example from tensorflow document. Since the current iteration depends on the last iteration through the `i` in the code. I am wondering if the loop body executes one by one as a pure sequential loop?
i = tf.constant(0)
c = lambda i: tf.less(i, 10)
b = lambda i: tf.add(i, 1)
r = tf.while_loop(c, b, [i])
約莫兩天後,另外一位網友zhenhailiu回覆了:
Two op instances from different iterations can be computed simultaneously, as long as there is no direct or indirect data dependency or control dependency between them. The iterations in this while_loop can be paralleled. In some cases, iterations in a while_loop cannot be paralleled, typically when there are multiple iteration variable.
Can you help solve a problem in your community by using the BBC micro:bit?You could win an all-expenses-paid trip to London to take part in the amazing micro:bit Global Challenge day and start to make a real difference in the world!
請參考「世界最大的一節課(World’s Largest Lesson)」網站上的可持續發展目標或全球目標,設立這些目標的目的,是為減少不平等並產生一個對每個人都公平的世界,在這個世界中沒有一個人被遺棄。我們期盼你思考,你如何能協助達成目標三(良好的健康與幸福狀態)、目標四(素質教育)、目標十六(和平、正義及強而有力的公共機構),藉由聚焦於非傳染性疾病與安全這個主題。我們如何確保人們保持健康並選擇健康的生活方式呢?我們如何確保所有的社群對人們都是安全的,使他們可以工作並上學呢?如果你想進一步了解這些主題,歡迎看一看我們的教學資源。
開始動手吧!!
By using the BBC micro:bit, we want you to design and make a solution to a problem that affects you and your community or another community somewhere in the world.
This could be a device that will encourage people to get active and stay healthy. It could be a recipe plan to help your family eat well. Could you help people decide which exercise would suit them best?
Or perhaps you and your friends need some more lights for your bikes that start working when the sun sets? Is crossing the road a problem at your school? Could there be a system that helps make it safe? Is there a device that helps prevent bullying at school?
又或許你與朋友在日落時騎腳踏車,需要更多燈光,⋯⋯,有想過什麼裝置能防止校園霸凌嗎?
Whatever the issue is, we’re interested to hear how you would go about solving it. The micro:bit can do so many things so use your imagination and be as creative as possible!
Don’t worry if the problem you want to work on seems small. Remember that small changes can have a big impact!
不必擔心你想要解決的問題太微小。請務必記得,小小的改變能產生巨大的影響!
誰可以參加?
The competition is open to young people across the world aged 8-12. You may work in a team or as an individual on the challenge. Unfortunately only one person will be able to travel to the Global Challenge finale event, so make sure you discuss this with any team mates in advance. The competition is free to enter and you don’t even have to have a micro:bit to take part. If you’ve got an idea, put it down on paper or use the Let’s Code page. We’ll accept photos of your plans, too. For full competition details and rules, please read the Terms and Conditions.
Intel is hosting its first artificial intelligence (AI) developer conference in Beijing on Nov. 14 and 15. The company kicked off the event with the introduction of the Intel® Neural Compute Stick 2 (Intel NCS 2) designed to build smarter AI algorithms and for prototyping computer vision at the network edge. Based on the Intel® Movidius™ Myriad™ X vision processing unit (VPU) and supported by the Intel® Distribution of OpenVINO™ toolkit, the Intel NCS 2 affordably speeds the development of deep neural networks inference applications while delivering a performance boost over the previous generation neural compute stick. The Intel NCS 2 enables deep neural network testing, tuning and prototyping, so developers can go from prototyping into production leveraging a range of Intel vision accelerator form factors in real-world applications.
“The first-generation Intel Neural Compute Stick sparked an entire community of AI developers into action with a form factor and price that didn’t exist before. We’re excited to see what the community creates next with the strong enhancement to compute power enabled with the new Intel Neural Compute Stick 2.”
–Naveen Rao, Intel corporate vice president and general manager of the AI Products Group
What It Does: Bringing computer vision and AI to Internet of Things (IoT) and edge device prototypes is easy with the enhanced capabilities of the Intel NCS 2. For developers working on a smart camera, a drone, an industrial robot or the next must-have smart home device, the Intel NCS 2 offers what’s needed to prototype faster and smarter.
What looks like a standard USB thumb drive hides much more inside. The Intel NCS 2 is powered by the latest generation of Intel VPU – the Intel Movidius Myriad X VPU. This is the first to feature a neural compute engine – a dedicated hardware neural network inference accelerator delivering additional performance. Combined with the Intel Distribution of the OpenVINO toolkit supporting more networks, the Intel NCS 2 offers developers greater prototyping flexibility. Additionally, thanks to the Intel® AI: In Production ecosystem, developers can now port their Intel NCS 2 prototypes to other form factors and productize their designs.
NCS2的外表看來就像個USB隨身碟,內在卻蘊含許多最新科技。由最新一代的Intel VPU(Intel Movidius Myriad X VPU)為基礎,NCS2是第一個標榜為神經運算引擎的產品 — 能提供更多運算效能的神經網路推論專用加速器。。結合了由Intel所推出,且支援更多網路的OpenVINO工具包,NCS2給予開發者在原型開發上更大的彈性。此外,感謝Intel® AI: In Production 生態系,開發者現在可將他們的Intel NCS2原型以不同的外觀造型來呈現,並將自己的設計產品化。
How It Works: With a laptop and the Intel NCS 2, developers can have their AI and computer vision applications up and running in minutes. The Intel NCS 2 runs on a standard USB 3.0 port and requires no additional hardware, enabling users to seamlessly convert and then deploy PC-trained models to a wide range of devices natively and without internet or cloud connectivity.
The first-generation Intel NCS, launched in July 2017, has fueled a community of tens of thousands of developers, has been featured in more than 700 developer videos and has been utilized in dozens of research papers. Now with greater performance in the NCS 2, Intel is empowering the AI community to create even more ambitious applications.