The document discusses bubble sort and parallel sorting algorithms. It begins with an example of bubble sort, which iteratively compares adjacent elements and swaps them if they are in the wrong order. Next, it considers parallelizing bubble sort but notes some operations cannot be parallelized. Then it introduces Odd-Even Transposition Sort (OETS), which can sort in parallel by sorting odd and even indices independently in each round. With p processing threads, OETS has complexity of O(n/p * n), making it linearly scalable.
This document provides an overview of digital safety topics for youth, including proper password protection, risks of downloading files from untrusted sources, protecting private information online, issues with cyberbullying and unauthorized sharing of images, and the legal risks of sexting. Key advice includes getting permission before sharing photos of others; talking to parents or teachers if being bullied online; and not sending private photos due to risks of child pornography charges. The document emphasizes that anything posted online can have long-term consequences and encourages sharing what you've learned about digital citizenship.
This document outlines Team Red's Vision Zero campaign targeting children aged 5-14 in Brooklyn and Queens. It provides background on Vision Zero, analyzes audience segments, and focuses on children as the key target. Insights into children's behaviors and demographics are presented. The communication execution section details the core message, partnership with schools, and use of digital and outdoor media to educate children and encourage safer behaviors.
This document discusses the development of a Tic Tac Toe game in Java using NetBeans. It introduces the students who created the project and provides an overview of the Java programming language. It then describes the key aspects of the project, including using a 3x3 matrix to represent the game board, allowing a user to play against the computer, and outlining the constructor, game turn logic, and drawing methods. The summary concludes with an example of game play where the computer takes the first turn, then the players take alternating turns until the user wins the game.
This ppt's introduced Basics of computer graphics, which helps to diploma in computer engineering, DCA BCA, BE computer science student's to improve study in computer graphics.
Slides by Víctor Garcia about the paper:
Reed, Scott, Zeynep Akata, Xinchen Yan, Lajanugen Logeswaran, Bernt Schiele, and Honglak Lee. "Generative adversarial text to image synthesis." ICML 2016.
This document provides an overview of deep learning and neural networks. It begins with definitions of machine learning, artificial intelligence, and the different types of machine learning problems. It then introduces deep learning, explaining that it uses neural networks with multiple layers to learn representations of data. The document discusses why deep learning works better than traditional machine learning for complex problems. It covers key concepts like activation functions, gradient descent, backpropagation, and overfitting. It also provides examples of applications of deep learning and popular deep learning frameworks like TensorFlow. Overall, the document gives a high-level introduction to deep learning concepts and techniques.
Weakly supervised semantic segmentation of 3D point cloudArithmer Inc.
Slide for study session given by Dr. Daisuke Sato at Arithmer inc.
It is a summary of methods for semantic segmentation for 3D pointcloud using 2D weakly-supervised learning.
Arithmer株式会社は東京大学大学院数理科学研究科発の数学の会社です。私達は現代数学を応用して、様々な分野のソリューションに、新しい高度AIシステムを導入しています。AIをいかに上手に使って仕事を効率化するか、そして人々の役に立つ結果を生み出すのか、それを考えるのが私たちの仕事です。
Arithmer began at the University of Tokyo Graduate School of Mathematical Sciences. Today, our research of modern mathematics and AI systems has the capability of providing solutions when dealing with tough complex issues. At Arithmer we believe it is our job to realize the functions of AI through improving work efficiency and producing more useful results for society.
The document discusses bubble sort and parallel sorting algorithms. It begins with an example of bubble sort, which iteratively compares adjacent elements and swaps them if they are in the wrong order. Next, it considers parallelizing bubble sort but notes some operations cannot be parallelized. Then it introduces Odd-Even Transposition Sort (OETS), which can sort in parallel by sorting odd and even indices independently in each round. With p processing threads, OETS has complexity of O(n/p * n), making it linearly scalable.
This document provides an overview of digital safety topics for youth, including proper password protection, risks of downloading files from untrusted sources, protecting private information online, issues with cyberbullying and unauthorized sharing of images, and the legal risks of sexting. Key advice includes getting permission before sharing photos of others; talking to parents or teachers if being bullied online; and not sending private photos due to risks of child pornography charges. The document emphasizes that anything posted online can have long-term consequences and encourages sharing what you've learned about digital citizenship.
This document outlines Team Red's Vision Zero campaign targeting children aged 5-14 in Brooklyn and Queens. It provides background on Vision Zero, analyzes audience segments, and focuses on children as the key target. Insights into children's behaviors and demographics are presented. The communication execution section details the core message, partnership with schools, and use of digital and outdoor media to educate children and encourage safer behaviors.
This document discusses the development of a Tic Tac Toe game in Java using NetBeans. It introduces the students who created the project and provides an overview of the Java programming language. It then describes the key aspects of the project, including using a 3x3 matrix to represent the game board, allowing a user to play against the computer, and outlining the constructor, game turn logic, and drawing methods. The summary concludes with an example of game play where the computer takes the first turn, then the players take alternating turns until the user wins the game.
This ppt's introduced Basics of computer graphics, which helps to diploma in computer engineering, DCA BCA, BE computer science student's to improve study in computer graphics.
Slides by Víctor Garcia about the paper:
Reed, Scott, Zeynep Akata, Xinchen Yan, Lajanugen Logeswaran, Bernt Schiele, and Honglak Lee. "Generative adversarial text to image synthesis." ICML 2016.
This document provides an overview of deep learning and neural networks. It begins with definitions of machine learning, artificial intelligence, and the different types of machine learning problems. It then introduces deep learning, explaining that it uses neural networks with multiple layers to learn representations of data. The document discusses why deep learning works better than traditional machine learning for complex problems. It covers key concepts like activation functions, gradient descent, backpropagation, and overfitting. It also provides examples of applications of deep learning and popular deep learning frameworks like TensorFlow. Overall, the document gives a high-level introduction to deep learning concepts and techniques.
Weakly supervised semantic segmentation of 3D point cloudArithmer Inc.
Slide for study session given by Dr. Daisuke Sato at Arithmer inc.
It is a summary of methods for semantic segmentation for 3D pointcloud using 2D weakly-supervised learning.
Arithmer株式会社は東京大学大学院数理科学研究科発の数学の会社です。私達は現代数学を応用して、様々な分野のソリューションに、新しい高度AIシステムを導入しています。AIをいかに上手に使って仕事を効率化するか、そして人々の役に立つ結果を生み出すのか、それを考えるのが私たちの仕事です。
Arithmer began at the University of Tokyo Graduate School of Mathematical Sciences. Today, our research of modern mathematics and AI systems has the capability of providing solutions when dealing with tough complex issues. At Arithmer we believe it is our job to realize the functions of AI through improving work efficiency and producing more useful results for society.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/sept-2014-member-meeting-scottkrig
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Scott Krig, author of the book "Computer Vision Metrics: Survey, Taxonomy, and Analysis," delivers the presentation "Introduction to Feature Descriptors in Vision: From Haar to SIFT" at the September 2014 Embedded Vision Alliance Member Meeting.
State of transformers in Computer VisionDeep Kayal
Transformers have rapidly come up as a challenger network architecture to traditional convnets in computer vision. Here is a quick landscape analysis of the state of transformers in vision, as of 2021.
This document discusses 3D rendering and the graphics pipeline. It begins with an introduction and overview of the topics to be covered. It then proceeds to explain each stage of the graphics pipeline in detail, from the 3D modeling stage through vertex shading, projection, clipping, rasterization, and pixel shading. Different rendering techniques like radiosity and ray tracing are also introduced and compared. The document emphasizes that rendering is the process of converting a 3D scene into a 2D pixel image displayed on screen. It encourages students to complete a worksheet on rendering and the graphics pipeline, and provides a video tutorial and exercise on rendering textured 3D objects.
The document describes a Tic-Tac-Toe game project created with graphics. It includes a 3x3 grid where two players take turns placing X's and O's to try and get 3 in a row. It explains the game functions like displaying the board, checking for a winner or draw, and ending the game. It also shows the game interface and thanks the viewer for watching the presentation.
Neural Architecture Search: Learning How to LearnKwanghee Choi
Neural Architecture Search aims to automate the design of neural networks. The document discusses several papers that developed methods for neural architecture search using reinforcement learning and evolutionary algorithms. These methods led to the discovery of neural network cells that achieved state-of-the-art performance on image classification tasks when combined into larger networks. Later work explored ways to make neural architecture search more efficient and applicable to different tasks.
This document introduces single-shot multibox object detection, which uses a single deep neural network to predict bounding boxes and class probabilities for objects in an image. It discusses object detection algorithms in general and compares approaches. For single-shot detection, default bounding boxes of different scales and ratios are generated to match objects. The network architecture outputs class probabilities and box offsets for the default boxes.
This document provides a friendly introduction to generative adversarial networks (GANs). It explains the general idea of GANs which involve a discriminator and generator playing a game, with the goal of the generator being to generate fake images that cannot be distinguished from real images by the discriminator. The document then walks through building the simplest GAN with a 1-layer neural network discriminator and generator. It explains how to train the GAN by having the discriminator and generator update through backpropagation to minimize their loss functions. Code examples are provided to demonstrate how to implement the GAN.
從圖像辨識到物件偵測,進階的圖影像人工智慧 (From Image Classification to Object Detection, Advance...Jian-Kai Wang
複習及補充機器學習與深度學習,說明物件偵測要解決的問題。
探討策略1: One-Shot Solution,舉 YOLO 為例及其 Hands-On 操作,並探討其他相關演算法與其發展;其次探討策略2: Divide-and-Conquer,以 Faster RCNN 為例與利用 Tensorflow Object Detection API 進行練習,探討其他相關演算法與其發展。
最後探討增進訓練結果與演算法發展,並介紹機器學習的推論與應用與應用機器學習導入產業。
We first reviewed the Machine Learning basis, introduced what object detection is, and then described what the problems it is going to solve. (both the localization and the category issues)
Second, we introduced two types of algorithms that represent two different ideas. One is a One-Shot solution and the other is a divide-and-conquer way. The representative algorithm for the one-shot solution is "YOLO" and the other one is "Faster R-CNN". We also implemented the whole YOLO training and inference processes from scratch via Tensorflow 2.0. On the other hand, we introduced how to use Tensorflow Object Detection APIs to implement the whole Faster R-CNN training and inference processes.
Third, we quickly introduced the evolution of several famous object detection algorithms and how to improve training performance and results.
In the final, we introduced the gap between the AI industrial in research and in practice.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/sept-2014-member-meeting-scottkrig
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Scott Krig, author of the book "Computer Vision Metrics: Survey, Taxonomy, and Analysis," delivers the presentation "Introduction to Feature Descriptors in Vision: From Haar to SIFT" at the September 2014 Embedded Vision Alliance Member Meeting.
State of transformers in Computer VisionDeep Kayal
Transformers have rapidly come up as a challenger network architecture to traditional convnets in computer vision. Here is a quick landscape analysis of the state of transformers in vision, as of 2021.
This document discusses 3D rendering and the graphics pipeline. It begins with an introduction and overview of the topics to be covered. It then proceeds to explain each stage of the graphics pipeline in detail, from the 3D modeling stage through vertex shading, projection, clipping, rasterization, and pixel shading. Different rendering techniques like radiosity and ray tracing are also introduced and compared. The document emphasizes that rendering is the process of converting a 3D scene into a 2D pixel image displayed on screen. It encourages students to complete a worksheet on rendering and the graphics pipeline, and provides a video tutorial and exercise on rendering textured 3D objects.
The document describes a Tic-Tac-Toe game project created with graphics. It includes a 3x3 grid where two players take turns placing X's and O's to try and get 3 in a row. It explains the game functions like displaying the board, checking for a winner or draw, and ending the game. It also shows the game interface and thanks the viewer for watching the presentation.
Neural Architecture Search: Learning How to LearnKwanghee Choi
Neural Architecture Search aims to automate the design of neural networks. The document discusses several papers that developed methods for neural architecture search using reinforcement learning and evolutionary algorithms. These methods led to the discovery of neural network cells that achieved state-of-the-art performance on image classification tasks when combined into larger networks. Later work explored ways to make neural architecture search more efficient and applicable to different tasks.
This document introduces single-shot multibox object detection, which uses a single deep neural network to predict bounding boxes and class probabilities for objects in an image. It discusses object detection algorithms in general and compares approaches. For single-shot detection, default bounding boxes of different scales and ratios are generated to match objects. The network architecture outputs class probabilities and box offsets for the default boxes.
This document provides a friendly introduction to generative adversarial networks (GANs). It explains the general idea of GANs which involve a discriminator and generator playing a game, with the goal of the generator being to generate fake images that cannot be distinguished from real images by the discriminator. The document then walks through building the simplest GAN with a 1-layer neural network discriminator and generator. It explains how to train the GAN by having the discriminator and generator update through backpropagation to minimize their loss functions. Code examples are provided to demonstrate how to implement the GAN.
從圖像辨識到物件偵測,進階的圖影像人工智慧 (From Image Classification to Object Detection, Advance...Jian-Kai Wang
複習及補充機器學習與深度學習,說明物件偵測要解決的問題。
探討策略1: One-Shot Solution,舉 YOLO 為例及其 Hands-On 操作,並探討其他相關演算法與其發展;其次探討策略2: Divide-and-Conquer,以 Faster RCNN 為例與利用 Tensorflow Object Detection API 進行練習,探討其他相關演算法與其發展。
最後探討增進訓練結果與演算法發展,並介紹機器學習的推論與應用與應用機器學習導入產業。
We first reviewed the Machine Learning basis, introduced what object detection is, and then described what the problems it is going to solve. (both the localization and the category issues)
Second, we introduced two types of algorithms that represent two different ideas. One is a One-Shot solution and the other is a divide-and-conquer way. The representative algorithm for the one-shot solution is "YOLO" and the other one is "Faster R-CNN". We also implemented the whole YOLO training and inference processes from scratch via Tensorflow 2.0. On the other hand, we introduced how to use Tensorflow Object Detection APIs to implement the whole Faster R-CNN training and inference processes.
Third, we quickly introduced the evolution of several famous object detection algorithms and how to improve training performance and results.
In the final, we introduced the gap between the AI industrial in research and in practice.
9. 後來的我們
Solution
● 將程式碼變成 function (def)
● 變成黑盒子
Good
● 只需要知道 function 名字就可以
使用
def print_add_two_element():
first = input()
second = input()
print(first+second)
print_add_two_element()
9
Input Output
10. 後來的我們
Solution
● 將程式碼變成 function (def)
● 變成黑盒子
Good
● 只需要知道 function 名字就可以
使用
def print_add_two_element():
first = input()
second = input()
print(first+second)
print_add_two_element()
10
BUT 只能達到這樣嗎??
Input Output
24. Make it Move!!!!
class Car:
def __init__(self, name):
self.name = name
self.speed = 5
self.direction = 'straight'
def turn(self, direction):
self.direction = direction
def move(self):
print(f'{self.SPEED} pixels to {self.direction}')
>>> mycar = Car('kiwi')
>>> mycar.move()
5 pixels to Right
>>> mycar.turn('Right')
>>> mycar.move()
5 pixels to Right
建構子 (constructor)
依照 class 定義的藍圖,
建造實體可操作的物體
24
完成了最簡單的 Class 了
٩(๑❛ᴗ❛๑)۶
self - 代表目前的 class
● __init__
● attribute - self.attr
● method - self.func()
25. 25
超越 function 的功能 - Object Oriented Programming
架構想法
1. 設計可重覆製造的
a. class/instance
2. 加入記憶單元及動作
a. attribute/method
3. 彼此間 attribute 的互通
a. class attribute/instance attribute
26. 彼此間互通 - Attribute
Class Attribute
類別共通使用的變數
class Car:
MAX_SPEED = 5
Instance Attribute
實體化物件自己使用的
class Car:
def __init__(self, name):
self.name = name
class Dog:
kind = 'pomchi' # class attribute shared by all instances
def __init__(self, name):
self.name = name # instance attribute unique to each
instance
>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.kind # shared by all dogs
'pomchi'
>>> e.kind # shared by all dogs
'pomchi'
>>> d.name # unique to d
'Fido'
>>> e.name # unique to e
'Buddy'
26
27. 小心使用可共享的 class attribute
Class attribute
● 可被相同 class 的修改
● 避免 Mutable object:
○ list / dict / set
class Dog:
tricks = [] # mistaken use of a class attribute
def __init__(self, name):
self.name = name
def add_trick(self, trick):
self.tricks.append(trick)
>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.add_trick('roll over')
>>> e.add_trick('play dead')
>>> d.tricks # unexpectedly shared by all dogs
['roll over', 'play dead']
27
d e
tricks
list
Dog
28. 28
超越 function 的功能 - Object Oriented Programming
架構
● [設計稿] Class
● [實體] Instance
● [記憶] Attribute
○ Class Attribute
○ Instance Attribute
● [動作] Method
75. [封裝][繼承] 妥善使用組合與繼承
不要為了 code reuse 而使用繼承 (is a) ,可考慮使用組合 (has a)
Composition
Inheritance
75
Civil aircraft IS a plane.
Fighter aircraft IS a plane.
Airport HAS lots of planes, like Civil
aircraft and Fighter aircraft
76. [繼承][多型] 抽象類別的簡介
Abstract Class 抽象類別
不可實體化,定義規定
● 需要會吃/上廁所/叫
Concrete Class 具體類別
必須滿足抽象類別的規定
● 狗:bark
● 貓:喵
Instance 實體
● 我的狗狗
Animal
Cat
Dog
76
92. Step.1 - 加減乘除
class Calculator:
def add(self, x, y):
self.x = x
self.y = y
a = self.x + self.y
return a
def subtract(self, x, y):
self.x = x
self.y = y
a = self.x - self.y
return a
def multiply(self, x, y):
self.x = x
self.y = y
a = self.x * self.y
return a
def divide(self, x, y):
self.x = x
self.y = y
if (y == 0):
a = "You can't divide by zero!"
else:
a = self.x / self.y 93
加入基本的加減乘除
96. Step1 - 分析需求
1. 導入類別繼承的概念,先定義 Car 所需的
功能
2. Car 類別具備的需求
a. 前進
b. 倒退
c. 轉方向
1. 定義此 Car 類別所具備的 method
a. move()
b. accelerate()
c. brake()
d. turn_left()
e. turn_right()
f. show()
Class CAR 的 method
● move: 根據目前的速度做移動
○ 正數:往前
○ 負數:往後
● accelerate: 速度增加 1
● brake:速度減少 1
○ 減為負則視為倒車
● turn_left: 往左轉
● turn_right: 往右轉
● show: 目前速度
97