본문 바로가기

STUDY

(136)
BrokenPipeError: [Errno 32] Broken pipe 나의 분노를 증폭시키는 에러가 또 발생했다. windows 환경에서 실행할때 자주 발생하는 오류라고 떴으며, 이것을 해결하기 위해 DataLoder부분의 num_workers부분을 수정하면 된다고 여러 사람들이 언급하였다. 이것을 보고 num_workers를 0으로 수정하니 오류가 해결되었다. 수정한 num_workers가 뭔지 알아보니 torch docs에는 다음과 같이 나타났다. num_workers (int, optional) – how many subprocesses to use for data loading. 0 means that the data will be loaded in the main process. (default: 0) 각자 메인프로세스 환경에 맞게 설명을 해주면 될 것 같다. 디..
RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same ResNet 코드 실행 중 아래 그림과 같은 오류가 발생했다. torch에서 GPU할당을 받기 위해 사용하는 코드를 임의로 주석 처리해서 발생한 에러였다. 이 문제는 모델은 GPU에 있지만, 데이터는 CPU에 있기 때문에 나오는 문제이다. 따라서 입력 tensor를 GPU로 보내도록 주석 해제를 하면 에러가 해결된다. 주석을 풀고 GPU할당을 하도록 하여 .cuda()에 대한 오류를 해결하였다.
[유니티 기초] 캐릭터의 이동(2) 6. Time.delta.Time - 이전 프레임의 시작 시각부터 현재 프레임이 시작되는 시각의 차(델타). - 소스코드가 같더라도 다른 환경에서 실행하면 속도가 달라지는 문제를 Time.deltaTime 을 곱함으로 해결. - 30 프레임 구동 기기 : Time.deltaTime 값 1/30s //프레임마다 10유닛씩 이동 transform.Translate(Vector3.forward * 10) //매 초 10유닛씩 이동 transform.Translate(Vector3.forward * Time.deltaTime * 10) using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerC..
[유니티 기초] 캐릭터의 이동(1) * 물체를 이동시키거나 회전시키는 방법 > 첫번째. Transform 컴포넌트의 position, rotation 속성을 지속해서 변경하는 방법 > 두번째. 물리엔진(PhysX, Box2D)을 이용해 물리적인 힘 또는 회전력을 가해 변경하는 방법 1. Transform 컴포넌트의 position, rotation 속성을 지속해서 변경하는 방법 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerCtrl : MonoBehaviour { void Start() { } void Update() { float h = Input.GetAxis("Horizontal"); float v = In..
[유니티 기초] 키보드 입력 값 받아들이기 * GetAxis 메서드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerCtrl : MonoBehaviour { void Start() { } void Update() { //-1.0f ~ 0.0f ~ +1.0f float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); Debug.Log("h=" + h); Debud.Log("v=" + v); } } 1. Input.GetAxis("Input 조합이름") - 미리 설정한 키 조합의 반환 값을 가져올 수 있음. - 연속적인 값을 반환하므로 부드러운 이동..
유니티의 주요 이벤트 함수 유니티 에디터에서 c# 스크립트는 Project View에서 Assets파일에 원하는 파일을 만든다. 그 후에 마우스 오른쪽을 클릭하면 Create가 뜬다. Create > C# Script 순으로 누르면 C# Script가 생성된다. C# Script를 생성하면 [그림 2]와 같다. [그림 2]의 Start 함수와 Update 함수는 기본적인 이벤트 함수이다. 이벤트 함수란 특정 조건 만족 시 시스템에서 자동으로 호출해주는 함수이다. Start, Update 이외에도 여러 함수가 있다. Awake : 스크립트 실행시 한번 호출. 제일 먼저 호출되는 함수이며 스크립트가 비활성화되어 있어도 호출되는 함수. OnEnable : 두번째로 호출되는 함수. 게임 오브젝트/스크립트가 비활성화됐을 때 호출됨. Lat..
유니티 엔진의 개발방식 유니티는 2가지 개발 방식을 지원한다. 첫 번째. 컴포넌트 기반의 개발 방식 (CBD, Component Based Development) 컴포넌트 기반의 개발 방식 (CBD, Component Based Development) 일종의 소프트웨어 개발 방법론. 독립적인 기능 단위로 컴포넌트를 제작한 다음 필요한 기능을 조립하는 방식으로 컴포넌트의 재사용이 가능하고 높은 생산성이 장점이다. 컴포넌트는 Inspector View에서 확인 가능. 게임 오브젝트에 추가된 컴포넌트는 삭제 가능. Transform 컴포넌트는 게임 오브젝트의 3차원 공간 속성들을 가지고 있으므로 삭제 불가능. 두 번째. 멀티스레드 기반의 DOTS 개발 방식 (DOTS, Data Oriented Technology Stack)
Python Object Oriented Programming(OOP) OOP : Object Oriented Programming, 객체 지향 프로그래밍 OOP는 클래스(EX. 붕어빵 틀)와 실제 구현체인 인스턴스(붕어빵)로 나눈다. 변수/클래스/함수명은 Snake_case와 CamelCase 둘 중에 하나를 사용하여 생성한다. 1. Class 구현하기 __init__ 는 객체 초기화 예약 함수이다. 매개변수로 받을 것들을 self 옆에 적어준다. 2. Object 선언하기 jihyun = SoccerPlayer("Jihyun", "MF", 10) 의 jihyun = SoccerPlayer()은 Object이름을 선언하는 것이다. SoccerPlayer()의 () 안의 값은 Variable 초기값을 선언해주는 것이다. 3. 객체 지향 언어의 특징 객체 지향 언어는 실제 세..

728x90