1. Colab에서 필요한 설정:

  1. Google Colab에서 새로운 노트북을 열고, 다음 코드를 실행하여 Jupyter 서버를 시작합니다.
from google.colab import drive
drive.mount('/content/drive')

!pip install jupyter_http_over_ws
!jupyter serverextension enable --py jupyter_http_over_ws

# 포트 번호와 토큰 설정 (기본값: 8888)
get_ipython().system_raw('jupyter notebook \
  --NotebookApp.allow_origin="*" \
  --port=8888 \
  --NotebookApp.port_retries=0')

 

  1. 실행 결과에서 http://localhost:8888/?token=... 와 같은 URL이 출력됩니다. 이 URL에 포함된 토큰 값을 복사합니다. 이 토큰은 PyCharm에서 Colab에 연결할 때 필요합니다.

   2. PyCharm에서 연결 설정:

  1. PyCharm을 실행하고, File > Settings (Windows/Linux) 또는 PyCharm > Preferences (macOS) 를 선택합니다.
  2. Project: [프로젝트 이름] > Python Interpreter 를 선택합니다.
  3. 오른쪽 상단의 톱니바퀴 아이콘을 클릭하고 Add 를 선택합니다.
  4. On SSH 를 선택하고 다음과 같이 설정합니다.
    • Host: localhost
    • Port: 8888
    • Authentication type: Password
    • Username: jovyan (일반적으로 Colab의 기본 사용자 이름)
    • Password: Colab에서 복사한 토큰 값을 입력합니다.
  5. Next 를 클릭하고, 인터프리터 경로를 /usr/local/bin/python 으로 설정합니다. (Colab의 Python 인터프리터 경로)
  6. Finish 를 클릭하여 설정을 완료합니다.

3. PyCharm에서 Colab 사용:

  1. PyCharm에서 새로운 Python 파일을 생성하거나 기존 파일을 엽니다.
  2. 코드를 작성하고 실행하면, Colab 환경에서 코드가 실행됩니다.

주의 사항:

  • Colab의 Jupyter 서버가 실행 중인 상태를 유지해야 합니다.
  • PyCharm에서 Colab에 연결할 때 방화벽 설정에 따라 연결이 차단될 수 있습니다. 이 경우 방화벽 설정을 변경해야 합니다.
 
!wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
!tar xvfz Python-3.7.12.tgz
!rm Python-3.7.12.tgz

 

!cd Python-3.7.12 && ./configure
!make
!sudo make install

 

!sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.7 1

'AI > Computer Vision' 카테고리의 다른 글

colab video play  (0) 2025.04.25
colab javascript  (1) 2025.04.22
numpy clip  (0) 2025.04.06
torch.cat  (0) 2025.04.06
구글 PailGemma  (0) 2025.03.25

 

import cv2
from IPython.display import display, Image

# 동영상 파일 경로
video_path = '/content/data/nice.mp4'

# 비디오 캡처 객체 생성
cap = cv2.VideoCapture(video_path)

# 첫 번째 프레임 표시를 위한 display_id 초기화
display_id = display(Image(data=cv2.imencode('.jpg', cap.read()[1])[1].tobytes()), display_id=True)

# 프레임 단위로 읽어 들이고 표시
while cap.isOpened():
ret, frame = cap.read()
if ret == True:
# 이전 출력을 덮어쓰도록 display_id 사용
display_id.update(Image(data=cv2.imencode('.jpg', frame)[1].tobytes()))
else:
break

# 비디오 캡처 객체 해제
cap.release()

 

 

'AI > Computer Vision' 카테고리의 다른 글

colab python 버전 변경  (0) 2025.04.27
colab javascript  (1) 2025.04.22
numpy clip  (0) 2025.04.06
torch.cat  (0) 2025.04.06
구글 PailGemma  (0) 2025.03.25

1)

var startClickConnect = function startClickConnect(){

    var clickConnect = function clickConnect(){

        console.log("Connnect Clicked - Start");

        document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();

        console.log("Connnect Clicked - End");

    };

    var intervalId = setInterval(clickConnect, 60000);

    var stopClickConnectHandler = function stopClickConnect() {

        console.log("Connnect Clicked Stopped - Start");

        clearInterval(intervalId);

        console.log("Connnect Clicked Stopped - End");

    };

return stopClickConnectHandler; };

 

var stopClickConnect = startClickConnect();

 

 

 

2)

function ClickConnect(){
console.log("Working"); 
document.querySelector("colab-toolbar-button#connect").click() 
}setInterval(ClickConnect, 1800000)

 

'AI > Computer Vision' 카테고리의 다른 글

colab python 버전 변경  (0) 2025.04.27
colab video play  (0) 2025.04.25
numpy clip  (0) 2025.04.06
torch.cat  (0) 2025.04.06
구글 PailGemma  (0) 2025.03.25
numpy.clip() 함수는 배열의 값을 특정 범위 내로 제한하는 데 사용됩니다. 주어진 최솟값과 최댓값을 기준으로 배열의 값들을 잘라냅니다.

기능:

배열의 값이 지정된 최솟값보다 작으면 최솟값으로 변경됩니다.
배열의 값이 지정된 최댓값보다 크면 최댓값으로 변경됩니다.
배열의 값이 최솟값과 최댓값 사이에 있으면 변경되지 않습니다.
 
사용법:
 
import numpy as np

# 배열 생성
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# clip() 함수 적용
clipped_arr = np.clip(arr, 3, 7)

# 결과 출력
print(clipped_arr) # 출력: [3 3 3 3 4 5 6 7 7 7]
 
 
매개변수:
a: 입력 배열
a_min: 최솟값
a_max: 최댓값
out: 결과를 저장할 배열 (선택 사항)
 
반환값:
입력 배열의 값들이 지정된 범위 내로 제한된 새로운 배열
 
예제:
import numpy as np

# 배열 생성
arr = np.array([-1, 0, 1, 2, 3, 4, 5])

# clip() 함수 적용
clipped_arr = np.clip(arr, 0, 3)

# 결과 출력
print(clipped_arr) # 출력: [0 0 1 2 3 3 3]
 
설명:
위 예제에서 np.clip(arr, 0, 3)은 입력 배열 arr의 값들을 0과 3 사이로 제한합니다. 0보다 작은 값은 0으로, 3보다 큰 값은 3으로 변경됩니다.

활용:
numpy.clip() 함수는 이미지 처리, 데이터 정규화, 신호 처리 등 다양한 분야에서 유용하게 사용됩니다. 예를 들어, 이미지의 픽셀 값을 특정 범위로 제한하거나, 데이터의 이상치를 제거하는 데 사용할 수 있습니다.

'AI > Computer Vision' 카테고리의 다른 글

colab video play  (0) 2025.04.25
colab javascript  (1) 2025.04.22
torch.cat  (0) 2025.04.06
구글 PailGemma  (0) 2025.03.25
체류 시간 분석  (0) 2025.03.24
torch.cat은 PyTorch에서 제공하는 함수로, 여러 개의 텐서를 특정 차원을 따라 연결하여 하나의 텐서로 만드는 역할을 합니다.

쉽게 말해, 여러 개의 텐서를 하나로 합치는 기능을 한다고 생각하면 됩니다.

사용법:
 
torch.cat(tensors, dim=0, *, out=None) → Tensor
 
tensors: 연결할 텐서들을 담은 시퀀스 (튜플, 리스트 등) 입니다.
dim: 텐서를 연결할 차원을 지정합니다. 기본값은 0입니다.
out: 결과를 저장할 텐서 (선택 사항) 입니다.
 
 
예시:
 
import torch

# 2개의 텐서 생성
tensor1 = torch.tensor([[1, 2], [3, 4]])
tensor2 = torch.tensor([[5, 6], [7, 8]])

# dim=0을 따라 연결 (세로로 연결)
tensor3 = torch.cat([tensor1, tensor2], dim=0)
# 결과: tensor([[1, 2], [3, 4], [5, 6], [7, 8]])

# dim=1을 따라 연결 (가로로 연결)
tensor4 = torch.cat([tensor1, tensor2], dim=1)
# 결과: tensor([[1, 2, 5, 6], [3, 4, 7, 8]])
 
 
주의 사항:

연결할 텐서들은 연결하려는 차원을 제외한 모든 차원에서 동일한 크기를 가져야 합니다.
dim은 연결할 차원을 나타내며, 0부터 시작합니다.
 
추가 설명:

torch.cat은 torch.split과 torch.chunk의 역 연산으로 볼 수 있습니다. 즉, torch.split이나 torch.chunk으로 나눈 텐서들을 다시 torch.cat으로 합칠 수 있습니다.
Autograd는 torch.cat 연산을 추적합니다. 따라서, torch.cat으로 생성된 텐서에 대한 기울기를 계산할 수 있습니다.
 
활용:

torch.cat은 다양한 상황에서 유용하게 사용될 수 있습니다. 예를 들어, 여러 개의 배치를 하나로 합치거나, 여러 개의 특징 맵을 연결하는 등의 작업에 활용할 수 있습니다. 특히, 딥러닝 모델에서 데이터를 전처리하거나, 모델의 출력을 결합하는 등 다양한 용도로 활용됩니다.

'AI > Computer Vision' 카테고리의 다른 글

colab javascript  (1) 2025.04.22
numpy clip  (0) 2025.04.06
구글 PailGemma  (0) 2025.03.25
체류 시간 분석  (0) 2025.03.24
YOLO-World: Real-Time, Zero-Shot Objeddt Detecdtion Explained  (0) 2025.03.24

https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf

 

'AI > Paper Analysis' 카테고리의 다른 글

LoRA Paper  (0) 2025.04.01
LIama 2 Paper Model  (0) 2025.04.01
LIama 1 Paper  (0) 2025.04.01

https://arxiv.org/abs/2106.09685

 

LoRA: Low-Rank Adaptation of Large Language Models

An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes le

arxiv.org

 

'AI > Paper Analysis' 카테고리의 다른 글

ChatGPT-1 Paper  (0) 2025.04.02
LIama 2 Paper Model  (0) 2025.04.01
LIama 1 Paper  (0) 2025.04.01

https://arxiv.org/abs/2307.09288

 

Llama 2: Open Foundation and Fine-Tuned Chat Models

In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters. Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases. O

arxiv.org

 

'AI > Paper Analysis' 카테고리의 다른 글

ChatGPT-1 Paper  (0) 2025.04.02
LoRA Paper  (0) 2025.04.01
LIama 1 Paper  (0) 2025.04.01

https://arxiv.org/abs/2302.13971

 

LLaMA: Open and Efficient Foundation Language Models

We introduce LLaMA, a collection of foundation language models ranging from 7B to 65B parameters. We train our models on trillions of tokens, and show that it is possible to train state-of-the-art models using publicly available datasets exclusively, witho

arxiv.org

 

'AI > Paper Analysis' 카테고리의 다른 글

ChatGPT-1 Paper  (0) 2025.04.02
LoRA Paper  (0) 2025.04.01
LIama 2 Paper Model  (0) 2025.04.01

+ Recent posts