아래의 코드와 같이 chunk_size와 seperator 두가지 기준으로 문서를 분할하는 text_splitter를 정의하였을때, 어떤 것을 우선하여 텍스트를 분할하나요? 예를 들어 토큰사이즈가 100개 이하지만 정규식 조건에 해당하여 분할을 하는것인지 혹은 토큰사이즈 100개 이상이 되어 정규식 조건을 충족하지 않아도 문서를 분할하는지 궁금합니다. text_splitter = CharacterTextSplitter.from_huggingface_tokenizer( tokenizer=tokenizer, separator=r"[.!?]\s+", chunk_size=100, chunk_overlap=0, is_separator_regex=True, keep_separator=True, )
Taxi가 랜덤하게 init된 손님와 목적지의 위치를 아는 이유는 observations 환경이라 그런 걸까요? 랜덤하게 목적지와 손님의 위치가 설정되더라도 과업을 어느정도 완벽히 수행하게 되는 원리는 어떤 특정 지점에 대해서 손님의 위치까지의 경로 계획을 위한 행동 가치에 대한 훈련과 그 손님의 위치에서 목적지를 향한 경로 계획에 대해서의 가치 훈련을 수행 했기 때문으로 보는 것이 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 처음 공부하고있습니다. 한번 듣고 어려워서 자바부터 다시 다지고 재도전 하는 중입니다. 생각보다 소요시간이 오래 걸려서 이게 제 길이 아닌건지, 공부 방법이 잘못된건지 질문드립니다.. 강의 1시간 짜리를 듣는다고 했을 때, 4~5시간은 걸립니다 실습에, 복습에, 이해 안가는 코드 공부까지 같이 하는 중입니다.. 이해가 안가서 멈추고 계속 보느라 더 오래 걸리는 것 같아요. 그래도 시간 투자하니 조금은 알 것 같긴 합니다만.. 그치만.. 이게 맞을까요,,?? ㅠㅠ
몇 챕터/몇 강을 수강 중이신가요? 4.9 어떤 알고리즘을 학습하고 계신가요? bfs, 숙제 두번째 청소기 문제 여기까지 이해하신 내용은 무엇인가요? 문제 풀이 강의 보면서 같이 풀고, ai 사용해서 공부한상태, 일주일 뒤에 다시 풀 예정입니다 큐에 들어가는 값이 항상 하나밖에 존재하지 않는데 큐를 사용하시는 이유가 궁금합니다.
문제는 해결했지만, 강의에 큰 오류가 있는 것 같아, 강의를 듣는 분들에게 공유하는 것이 좋다 생각돼서 글을 작성했습니다. 강의의 Transform 코드가 미흡하다 생각해서, [LH, row_major, 요우->피치->롤] 을 전제로 하는 Transform ( Vec3, Vec4, Matrix3x3, Matrix4x4, Quaternion ) 을 다른 교재(이득우저 게임수학) 를 참조하여, 강의 코드에 적용해서 공부하고 있었습니다. 문제없이 잘 진행되다, 65.애니매이션 #2 에서 AssimpTool 로 FBX를 변환한 데이터를 애니매이션 진행할시, 로테이션이 반대로 되는 문제가 있었습니다. 이틀에 걸려 문제 원인을 찾았는데, 원인 코드는 아래와 같습니다 (강의 코드의 AssimpTool 프로젝트의 Utils 파일의 Converter.cpp 의 내용) /* std::shared_ptr<asAnimationNode> Converter::ParseAnimationNode(shared_ptr<asAnimation> animation, aiNodeAnim* srcNode) { std::shared_ptr<asAnimationNode> node = make_shared<asAnimationNode>(); node->name = srcNode->mNodeName; uint32 keyCount = max(max(srcNode->mNumPositionKeys, srcNode->mNumScalingKeys), srcNode->mNumRotationKeys); for (uint32 k = 0; k < keyCount; k++) { asKeyframeData frameData; bool found = false; uint32 t = node->keyframe.size(); // Position if (::fabsf((float)srcNode->mPositionKeys[k].mTime - (float)t) <= 0.0001f) { aiVectorKey key = srcNode->mPositionKeys[k]; frameData.time = (float)key.mTime; ::memcpy_s(&frameData.translation, sizeof(Vec3), &key.mValue, sizeof(aiVector3D)); found = true; } // Rotation if (::fabsf((float)srcNode->mRotationKeys[k].mTime - (float)t) <= 0.0001f) { aiQuatKey key = srcNode->mRotationKeys[k]; frameData.time = (float)key.mTime; frameData.rotation.x = key.mValue.x; frameData.rotation.y = key.mValue.y; frameData.rotation.z = key.mValue.z; frameData.rotation.w = key.mValue.w; found = true; } */ ==>> 위 코드에서, Quaternion 로테이션을 전치하기 위해, x, y, z 의 부호를 거꾸로 하는 코드가 필요합니다. 수정한 제 코드에는 아래와 같습니다 frameData.rotation.X = -key.mValue.x; frameData.rotation.Y = -key.mValue.y; frameData.rotation.Z = -key.mValue.z; frameData.rotation.W = key.mValue.w; 저렇게 코드를 수정하니, (LH, row_major) 를 전제로 하는 Transform 코드에서 잘 작동하더군요. 물론 강의의 DirectX::SimpleMath 를 바탕으로 만들어진 Transform 을 사용하면 아무 문제 없습니다. 제가 SimpleMath를 제대로 이해하지 못해서, 어떻게 강의 코드가 잘 작동하는지를 이해하지는 못했고, 여전히 의문이 남습니다. 강의에서도 FBX 데이터는 RH 를 전제로 만들어졌고, 강의는 LH 를 전제로 하기에, AssimpTool 에서 본 트랜스폼 데이터를 변환할 때에, 아래 강의 코드인 Converter::ReadModelData 에서, bone->transform = transform.Transpose(); 트랜스폼을 전치합니다. Converter::ReadKeyframeData 에서도, if (findNode == nullptr) 에서도 transform = transform.Transpose(); 로 전치를 하는데, 앞서 제가 수정했던 else (애니매이션 데이터가 있는 부분) 에서는 전치 (rotation을 거꾸로 전환하는 코드) 가 누락됐습니다. 정리하면, 강의의 일부 코드에서는, RH -> LH 를 위한 전치(로테이션 거꾸로) 코드가 있는데, 일부 코드에서는 전치 코드가 없는데도, 강의 코드는 잘 작동한다는 겁니다. 아무튼 제 문제는 해결됐습니다. 강의를 보다 혼동하실 분들이 제 글을 참고했으면 좋겠네요. 제 코드를 담은 깃허브 링크도 공유합니다 https://github.com/HeeTaeKim996/Learning_DirectX11_3D
강사님 풀이대로하고 코딩채첨을 했더니 런타임 에러가 뜨네요 import java.util.Scanner; public class Main { public int solution(int n) { int answer = 0; int[] isPrime = new int[n + 1]; for (int i = 2; i <= n; i++) { if (isPrime[i] == 0) { answer++; for (int j = i * i; j <= n; j += i) { isPrime[j] = 1; } } } return answer; } public static void main(String[] args) { Main m = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(m.solution(n)); } } 이렇게 하고 그대로 복붙했더니 런타임 에러가 뜹니다.
안녕하세요 선생님 일단 좋은 강의 만들어 주셔서 정말 감사드립니다. OS 는 윈도우 사용자이고 말씀해주신 python 3.11.3 poetry 1.4.2 설치를 끝냈습니다. 파이참 들어가서 말씀해주신대로 설정을 하고 OK 버튼을 클릭하면 여기서 라이브러리 목록이 나와야 하는데 목록이 안나오는 문제가 발생 하고 있습니다. 여기서 OK 버튼을 클릭하면 이렇게 문제가 발생 하고 있는데... 어떻게 해결 해야 할까요?...