본문 바로가기

분류 전체보기

(284)
[48]always_redraw class AlwaysRedraw(Scene): def construct(self): self.draw_tangent() def draw_tangent(self): x_axis = NumberLine(x_min=-5,x_max=5) def sine_func(x): return 1.5 * np.sin(x * PI) graph = FunctionGraph(sine_func, x_min=-4, x_max=4) tracker = ValueTracker(-4) def get_tangent_line(): line = Line( ORIGIN, 2 * RIGHT, color=RED, stroke_width=5, ) dx = 0.0001 x = tracker.get_value() p0 = np.array([x-dx,si..
[47] add_updater def moving_dot(self): x_axis = NumberLine(x_min=-5, x_max=5) dot = Dot(color=RED, radius=0.15).move_to(x_axis.get_left()) number = DecimalNumber(-5, color=RED).next_to(dot, UP) number.add_updater(lambda m: m.next_to(dot, UP)) number.add_updater(lambda m: m.set_value(dot.get_center()[0])) self.add(x_axis, dot, number) self.play(dot.shift, RIGHT * 10, rate_func=there_and_back, run_time=10) self.wa..
[46]Mobject moving/coloring Animation def simple(self): circle = Circle() circle.save_state() self.play(circle.to_edge, LEFT) self.play(circle.to_edge, RIGHT) self.play(circle.restore) self.play(circle.to_edge, UP) self.play(circle.to_edge, DOWN) self.play(circle.restore) self.play(circle.set_fill, RED, {"opacity": 0.5}) self.play(circle.set_color_by_gradient, YELLOW) self.play(circle.to_corner, UL) self.play(circle.to_corner, DR) s..
[45]Special Effects def broadcast(self): text = VGroup( TextMobject("Monday"), TextMobject("Tuesday"), TextMobject("Wednesday"), TextMobject("Thursday"), TextMobject("Friday"), ).arrange(DOWN) dot = Dot(color=RED).move_to(2 * RIGHT) self.add(dot) def get_broadcast(): return Broadcast(dot, big_radius=5, color=RED, run_time=5) self.play( LaggedStartMap(FadeIn, text, run_time=4, lag_ratio=0.7), Succession(*[ get_broad..
[코세라 강좌] 3주차 - 이론(1/2) What are convolutions and pooling 앞에서 패션 MNIST 데이터에 대해 이미지 분류하는 모델링을 해봤는데, 정확도가 87% 정도였음. 정확도를 더 높일 수 있는 기법이 콘볼루션과 풀링 기법 콘볼루션(convolution) 예전부터 이미지 프로세싱에서 많이 쓰였던 기법으로, 수평 에지(edge)나 수직 에지를 검출할 때 쓰는 소벨 마스크 등이 콘볼루션 기법임 Convoloution 이처럼 콘볼루션은 이미지의 특성을 더 극명하게 나타내 줌. 즉, 에지가 있는 부분은 더 두드러지게 하고 아닌 부분은 더 약하게 해서 원래 이미지가 가지고 있는 고유의 특성이 더 강조되는 것임. 따라서, 이러한 콘볼루션 연산을 원본 이미지에 하게 되면, 그 원본 이미지가 다른 이미지와는 다른 고유의 특성..
[코세라 강좌] 2주차 - 실습(2/2) 콜백 함수를 이용해서 트레이닝할 때 조건을 줄 수 있습니다. 아래 예는 accuracy가 60%를 초과하면 트레이닝을 멈추도록하는 하는 예제. import tensorflow as tf import matplotlib.pyplot as plt import numpy as np class myCallback(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs={}): if(logs.get('accuracy')>0.6): print("\nReached 60% accuracy so cancelling training!") self.model.stop_training = True # print(tf.__version__) mnist = tf.ker..
[코세라 강좌] 2주차 - 실습(1/2) Fashion-MNIST 데이터에 대한 Classification 프로그램 실습 Fashion-MNIST 데이터 핸드 라이팅한 9종의 그레이스케일 의상 사진 7만장을 모아 놓은 것 (https://github.com/zalandoresearch/fashion-mnist) 참조 그림들 9종 레이블 Label Description 0 T-shirt/top 1 Trouser 2 Pullover 3 Dress 4 Coat 5 Sandal 6 Shirt 7 Sneaker 8 Bag 9 Ankle boot 테스트 코드 import tensorflow as tf import matplotlib.pyplot as plt import numpy as np # print(tf.__version__) mnist = tf.k..
[코세라 강좌] 1주차 - 실습 코세라 강좌에서 과제를 제출할 때는, 코세라에서 제공하는 `주피터 노트북`을 통해서 코딩을 하고 결과를 제출하면 됩니다. 주피터 노트북은 웹 브라우저에서 실행되기에 별도로 프로그램을 설치할 필요는 없습니다. 그래도 로컬에서 직접 돌려볼 필요가 있을 것이기에, 로컬 PC에서도 텐서 플로우를 돌릴 수 있는 환경을 구축해야 합니다. 텐서 플로우 설치 요약 파이썬 안 깔려 있다면 설치 (설치 방법) 파이참 안 깔려 있다면 설치 (설치 방법) 텐서 플로우 설치: pip install tensorflow GPU를 사용하고 싶다면: (GPU 설정 방법) 샘플 코드 y = 2x - 1에 해당하는 데이터로부터, 모델을 만들고, 이 모델을 이용해서 x가 주어졌을 때 y를 예측 from tensorflow import ke..
GPU 사용하게 하기 텐서 플로우를 돌리는데 있어 GPU가 있고 없고는 성능에 많은 차이를 보입니다. 해서, 사용하고 있는 PC/노트북의 GPU가 텐서 플로우를 지원한다면, 가능하게 설정해주는 것이 좋습니다. 순서는, PC/노트북에 있는 그래프카드가 GPU 지원하는지 확인 최신 GPU 드라이버로 업그레이드 GPU Toolkit 설치 그래프카드가 GPU 지원하는지 확인하기 '내컴퓨터/속성/장치관리자/디스플레이 어댑터'에서 NVIDIA 그래픽 카드 모델 번호 확인 TensorFlow에서 GPU를 사용하려면 NVIDIA의 CUDA 기술을 사용한 GPU카드라야하고, CUDA기술을 사용한 카드인지는 여기를 가보면 알 수 있습니다. 내꺼는 NVIDIA GeForce GT 650M이고 다행히 CUDA기술을 사용하고 있는 것 https:/..
[코세라 강좌] 1주차 - 이론 머신러닝이 지금까지의 전형적인 프로그래밍과 다른 점은? 머신러닝과 일반 프로그래밍과의 근본적인 차이점을 아주 잘 나타내주는 그림입니다. 우리가 지금까지 알고 있는 프로그래밍은 전부 그림의 위 쪽에 해당하는 방법이었습니다. 사거리 도로에서 초록색과 빨간색이 켜지고 꺼지는 것도 어떤 규칙에 의해 프로그래밍된 것이고, 우리가 사용하고 있는 word 프로그램도 사용자가 키보드로 어떤 것을 칠 때 어떻게 화면에 나오게 하는 등 개발자가 코딩하는 어떤 'Rule'에 의해서 모든 것이 프로그래밍되는 것이었습니다. 프로그래밍이라는 것이, 'Rule'과 그 'Rule'에 의해 다뤄지는 'Data'에 의해 어떤 'Answers'가 나오는 것이지 다른 것도 있을 수 있을까요? 머신러닝은 어떤 데이터와 그 데이터가 어떤 것을..