Selenium 웹 페이지를 자동화하여 사용자가 직접 실행하는 것과 같은 테스트를 수행할 수 있다. Selenium은 다양한 언어를 지원하며, 특히 Java, Python, Ruby, C# 등의 언어에서 많이 사용된다. Selenium WebDriver를 사용하면 자동화된 테스트를 실행할 수 있으며, Selenium Grid를 사용하면 여러 브라우저에서 동시에 테스트를 실행할 수 있다. 또한 Selenium IDE를 사용하면 브라우저에서 리코딩 기능을 사용하여 테스트를 작성할 수 있다. * 레코딩: 사용자가 브라우저에서 수행하는 모든 작업을 기록하고 해당 작업들을 자동화된 테스트로 바꿀 수 있는 기능 1) 버전차이 Selenium은 4 버전 이후로 문법이 변경되었다. Selenium 3.xx버전 from..
코드 작성 원칙1) DRY(Don't repeat yourself)- 소프트웨어 개발에서 중복 코드를 최소화하고, 코드의 가독성과 유지보수성을 향상하기 위한 원칙- 코드를 함수나 모듈화된 구성요소로 분리하여 재사용 가능한 코드를 작성합니다.- 일반적인 코드 패턴을 사용하여 코드의 일관성을 유지합니다.- 유사한 코드를 별도의 함수나 모듈로 분리하여 코드를 줄입니다.2) KISS(Keep it simple, stupid)- 불필요한 복잡성을 최소화하고, 코드의 이해와 유지보수를 쉽게 만들기 위한 것- 간단한 구조를 사용하여 복잡성을 최소화합니다.- 기능을 가능한 작게 유지합니다.- 최대한 적은 리소스를 사용하여 문제를 해결합니다.- 읽기 쉬운 코드를 작성하고, 이해하기 쉬운 변수 이름과 주석을 사용합니다. ..
CNN은 Convolutional Neural Network의 약자로, 이미지, 음성 등의 다양한 유형의 데이터를 처리하는 데 특화된 딥러닝 모델이다. CNN은 일반적인 신경망과는 달리, 합성곱(Convolution)과 풀링(Pooling) 레이어를 사용하여 이미지의 특징을 추출한다. 이를 통해 공간 정보를 보존하면서 이미지 데이터를 처리할 수 있다. 합성곱 레이어는 이미지의 특징을 추출하는 역할을 수행한다. 필터(Filter) 또는 커널(Kernel)이라는 작은 윈도를 이미지의 픽셀 데이터에 대해 일정 간격으로 이동시키면서 합성곱을 계산한다. 이를 통해 이미지의 여러 특징(선, 모서리, 질감 등)을 추출하게 된다. 풀링 레이어는 합성곱 레이어를 통해 추출된 특징 맵의 크기를 줄이는 역할을 수행한다. 이..
정적 페이지 정적 페이지(Static Page)는 항상 같은 내용을 제공하는 웹 페이지 정적 페이지는 서버에서 미리 HTML 파일을 생성하여 클라이언트에게 제공한다. 정적 페이지는 보통 HTML, CSS, JavaScript 등을 사용하여 작성된다. 동적페이지 동적 페이지(Dynamic Page)는 클라이언트의 요청에 따라 내용이 동적으로 생성되는 웹 페이지 동적 페이지는 보통 서버 측에서 요청을 처리하고, 그 결과를 HTML 코드로 생성하여 클라이언트에게 전달한다. 동적 페이지는 CGI(Common Gateway Interface), 서블릿(Servlet), JSP(JavaServer Pages), ASP(Active Server Pages) 등을 사용하여 작성된다. 정적 페이지와 동적 페이지의 가장 ..
BeautifulSoup HTML, XML 등의 마크업 언어에서 데이터를 추출하는 파이썬 라이브러리 BeautifulSoup을 사용하면 마크업 언어로 작성된 문서를 파싱 하여, 문서 내에서 원하는 정보를 추출할 수 있다. BeautifulSoup은 파서(parser)를 선택하여 사용할 수 있으며, 주로 HTML 및 XML 파싱에 사용된다. 파싱 된 문서는 BeautifulSoup 객체로 반환되며, 이 객체를 통해 문서 내의 태그, 속성, 텍스트 등을 다룰 수 있다. 예를 들어, find() 함수를 사용하여 문서 내에서 원하는 태그를 찾거나, select() 함수를 사용하여 CSS 선택자를 이용하여 여러 개의 태그를 찾을 수 있다. 1) 사용 함수 - select(선택자) : CSS 선택자를 사용하여 요소..
Rand random_tensor = torch.rand(1, 3, 4) random_tensor = torch.rand(3, 4) random_tensor = torch.rand(4) random_tensor = torch.rand(1, 1, 3, 4) random_tensor = torch.rand(10, 10, 10) rand() 함수를 통해 원하는 차원을 만들어 낼 수가 있다. Zeros zeros = torch.zeros(size=(3,4)) zeros = torch.zeros(size=(3, 3,4)) zeros = torch.zeros(size=(3)) zeros() 함수를 통해 0의 값을 같은 차원을 만들 수 있다. * size는 default 값이라 적어도 되고 안 적어도 된다. 텐서끼리..
실행 환경: Google Colab https://colab.research.google.com/ Google Colaboratory colab.research.google.com 런타임 유형: GPU GPU 변경 후 셀에 입력하면 내가 어떤 GPU를 쓰고 있는지 확인할 수 있다. !nvidia-smi 무료버전인 경우: Tesla T4 Torch 버전확인하기 import torch print(torch.__version__) 2.0.0+cu118 그러면 이런 값이 print가 되는데 밑에 내용을 뜻한다. - torch 버전: 2.0.0 - GPU 병렬처리를 위한 CUDA 버전: 11.1.8 Tensor란? PyTorch에서 Tensor는 수학적인 개념으로, 다차원 배열(multi-dimensional a..
Web 1) 네트워크 둘 이상의 장치(device) 간에 데이터를 주고받을 수 있는 연결(connection)을 의미 이러한 장치들은 서로 다른 위치에 있을 수 있으며, 인터넷 같은 대규모 네트워크에서는 전 세계의 장치들이 연결되어 있다. 네트워크를 사용하면 데이터를 다른 장치에 전송할 수 있으며, 이는 인터넷이나 로컬 네트워크에서 일상적으로 이루어지는 일이다. 예를 들어, 웹 브라우저를 사용하여 인터넷에 접속하면, 컴퓨터는 인터넷으로 연결되어 있는 라우터(router)에 연결된다. 그리고 라우터는 인터넷 서비스 제공업체(ISP, Internet Service Provider)를 통해 인터넷과 연결된다. 그리고 ISP는 다른 ISP나 인터넷 서버와 연결되어 있으며, 데이터는 이러한 연결을 통해 전송된다...
PyTorch는 Facebook에서 개발하고 유지보수하는 오픈소스 머신러닝 프레임워크로, PyTorch는 다양한 분야의 머신러닝 모델링을 지원하며, 특히 딥러닝 모델링에 강점을 가지고 있다. PyTorch는 Python을 기반으로 하며, NumPy와 유사한 구조를 가지고 있어서 사용자들이 쉽게 딥러닝 모델을 구현하고 테스트할 수 있으며, 또한 PyTorch는 GPU를 활용한 병렬처리를 지원하여 딥러닝 모델의 학습 및 추론 속도를 높일 수 있다. PyTorch의 가장 큰 특징 중 하나는 동적 계산 그래프(dynamic computation graph)를 사용한다는 것이다. 이는 모델을 정의하면서 동시에 계산 그래프를 만들고, 이를 통해 모델이 학습하는 동안 그래프가 자동으로 업데이트된다는 것을 의미하며, ..
동적 계산 그래프(dynamic computation graph)는 PyTorch에서 사용하는 특징적인 기술 중 하나로, 동적 계산 그래프는 모델을 정의하면서 동시에 계산 그래프를 만들고, 이를 통해 모델이 학습하는 동안 그래프가 자동으로 업데이트되는 방식이다. 기존의 딥러닝 프레임워크에서는 정적 계산 그래프(static computation graph)를 사용하는 경우가 많았는데, 정적 계산 그래프는 모델을 정의할 때 미리 계산 그래프를 만들어 놓는 방식이다. 이는 모델을 한 번 정의하면 그 이후에는 수정이 불가능하며, 모델을 정의할 때 모든 계산 그래프를 한 번에 만들어야 한다. PyTorch에서는 Autograd라는 자동 미분 기능을 통해 동적 계산 그래프를 구현한다. * Autograd는 모델의 ..