분류 전체보기 67

Segmented Reduction이란

ReductionReduction: 배열이나 데이터의 여러 값을 하나의 값으로 축약(집계)하는 연산ex) sum, max, min 등 일반적으로 배열 전체의 합을 구한다거나 하는 식이 일반적인 Reduction 계산이다.  Segmented ReductionSegmented Reduction: 여러 개의 독립적인 그룹(Segment)로 나눠서 그룹별 각각의 독립적인 Reduction을 수행하고 각 그룹별 값을 얻는 방식. 이때, Segment는 사전에 정의된, 각각 연산을 수행할 그룹이라고 생각하면 된다. ex) 구간별 sum 계산입력 배열: [1, 2, 3, 4, 5, 6, 7, 8]세그먼트 경계: [0, 0, 0, 1, 1, 1, 2, 2] (3개의 세그먼트) 결과: [6, 15, 15]  하지만, ..

기타/python 2025.02.08

Python에서 함수 인자로 변수를 넘기는 방식

python에서 함수의 인자로 변수를 넘겨줄 때, 이 인자는 원본 변수가 참조하는 객체(object)의 참조(reference)를 받는다. 즉, 인자로 넘겨준 변수와 함수에서 사용하는 변수는 같은 객체를 사용한다.함수에서 인자로 배열을 넘길 때, 함수의 매개 변수로 복사가 일어나는 것이 아니라, 이 매개 변수가 원본 변수와 같은 주소의 객체를 참조할 수 있도록 메모리 주소를 넘겨줌. 객체(object)데이터가 실제로 저정된 메모리 block참조(reference)객체의 메모리 주소를 가리키는 것.포인터와 유사한 개념모든 변수는 이 객체의 메모리 주소를 저장하여 이 객체 block을 가리킴.즉, 변수는 객체 자체를 저장하는 것이 아니라, 객체에 대한 참조를 저장해서 객체에 접근함예제 및 정리같은 객체를 참..

기타/python 2025.01.19

Isaac Lab에서 tensorboard로 결과를 visualize 하는 법

강화학습을 할 때, reward, episode 길이 등의 학습 정보를 그래프를 통해 시간에 따라 어떻게 변했는지 시각적으로 보기 위해서, tensorboard라는 것을 사용할 수 있다. 이 tensorboard는 ubuntu 22.04 기준 pip으로 간단하게 설치할 수 있다.pip install tensorboard 설치가 되었다면, tensorboard를 보기 위해 아래 코드만 terminal에 입력하면 된다. 학습 정보가 저장된 폴더 경로만 알면, 그 학습에 대한 정보를 그래프를 통해 시각적으로 볼 수 있다.tensorboard --logdir   Isaac lab에서 이 폴더 경로 찾는 방법isaac lab에서 기본으로 제공해주는 train.py로 학습을 시키면, isaaclab 폴더의 logs..

연구/Isaac Lab 2025.01.13

stable diffusion web으로 이미지 생성하기

무료로 사용할 수 있는 생성형 AI 중에 stable diffusion web 이라는 것이 있다. 할 수 있는 것txt2img: 텍스트 입력에 해당하는 이미지 생성img2img: 이미지를 입력으로 넣고 요청에 따라 변형된 이미지 생성LoRA 학습된 목적에 맞는 생성형 모델 사용 가능설치는 아래의 github 주소로 들어가서 Installation and Running 부분의 내용을 각자 OS에 맞게 그대로 따르면 됨github 주소: https://github.com/AUTOMATIC1111/stable-diffusion-webui  나는 linux(ubuntu)라서 아래 순서를 따름 1. Install the dependencies# Debian-based:sudo apt install wget git..

기타 2025.01.02

Position Based Fluids (PBF)

이 논문은 NVIDIA의 PBD 기반 시뮬레이션 framework인 FleX에서 유체에 적용한 논문이다. 이 논문의 기술을 통해 FleX에서 사실적인 유체 시뮬레이션을 실시간으로 계산할 수 있게 되었다.AbstractPosition Based Fluids 논문은 실시간 유체 시뮬레이션을 위한 효율적인 방법을 제안한 연구이다. Smoothed Particle Hydrodynamics(SPH) 등의 기존의 유체 시뮬레이션 기법은 물리적 정확성은 뛰어나지만 계산 비용이 많이 들기 때문에 실시간 응용에서는 비효율적인 경우가 많았음. 이 논문에서 제시하는 방법은 Position Based Dynamics(PBD) 프레임워크를 사용하여 안정적이고 빠른 유체 시뮬레이션을 구현하는 방법을 제시한다.  Contribut..

Isaac Sim 설치

Isaac Sim을 설치하기 위해, NVIDIA Omniverse를 먼저 설치하고 그 안에서 Issac Sim을 설치하여 실행한다. 설치 순서NVIDIA Omniverse Launcher 설치설치된 omniverse-launcher-linux.AppImage 실행NVIDIA 로그인 및 경로 설정Omniverse Launcher 안에서 Cache, Nucleus 설치Omniverse Launcher 안에서 Isaac Sim 설치Isaac Sim 실행NVIDIA Omniverse Launcher 설치아래 링크로 이동하여 정보를 적고 다음 페이지로 이동.자신의 환경에 맞는 Omniverse Launcher 설치https://www.nvidia.com/ko-kr/omniverse/download/ Omniver..

연구/Isaac Lab 2024.08.07

Flutter supabase 연결하기

supabase는 간단하게 백앤드 서버를 구축할 수 있는 백앤드 서비스 플랫폼이다.이 포스팅은 supabase 사용방법보다는 맨 처음 supabase와 flutter 연결 설정하는 것에 초점을 둠 flutter와 supabase를 연결하기 위해서는 다음 과정을 거친다.supabasesupabase 사이트 접속 후 로그인supabase에서 project 생성supabase의 project에서 table 생성table의 policy 설정flutterpubspec.yaml 파일에 의존성 추가terminal에서 package 설치dart 파일에 supabase-flutter package importsupabase에서 project의 API key 값들 얻어옴supabase initializesupabase c..

기타/Flutter 2024.07.29

[Flutter 기초] Button 만들기 (ElevatedButton, TextButton, IconButton

Flutter에서 기본적인 Button은 ElevatedButton, TextButton, IconButton이 있다.  ElevatedButton & TextButton 이 중 ElevatedButton과 TextButton은 비슷한데, 가장 큰 차이점은 ElevatedButton은 버튼 모양에 그림자가 있다는 것이다. (나머지는 비슷한 거 같다) 이 두 위젯은 코드 형태 또한 유사한데, 기본적으로 onPressed와 child 이 두 가지 parameter가 있어야 동작을 한다. ※ onPressed : 버튼을 누르면 동작하는 내용에 대해서 넣음ElevatedButton(onPressed: onPressed, child: child) // 기본 꼴ElevatedButton(onPressed: (){}..

기타/Flutter 2024.07.08