안녕하세요 강의 4:53초에 있는 케이스 4 문제 답이요 매개변수가 있는 생성자 호출. 매개변수가 없는 생성자 호출. 이름 : 알 수 없음 나이 : 0 이름 : 홍길동 나이 : 30 이렇게가 맞는 거죠?? 예시에 출력값은 매번 있었으면 좋겠습니다ㅠㅠ 맞겠지라고 생각하지만 불안합니닷..ㅠㅠ
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요 이제 막 수강 신청했는데 교재 문의드려요 검색해서 교재(구름마크) 다운로드는 확인했는데, 혹시 문제만 나와있는 파일들은 어디서 받을 수 있을까요? 파일열어보니 답까지 모두 나와있던데.. 감사합니다 - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.
match3 게임을 agent가 플레이 하게 하려는 목적으로 시작 했습니다. 과거 match3 게임 개발해 논게 있어서 AbstractBoard 못쓰고 agent 학습 작업을 하였습니다. mlagent Release 21 버젼을 사용했습니다. 먼저 퍼즐판은 8*7이고 블럭은 5색깔 을 사용한다고 정의 했습니다. public class Match3MLAgentsBoard : Agent 클레스를 정의 하고 유니티 mlagnet match3 샘플을 참고해서 8*7 퍼즐판을 색깔별로 있으면 1 없으면 0을 넣는 소스 입니다. public override void CollectObservations(VectorSensor sensor) { MapBoardData mapBoardData = gameMain.IngameData.CurBoardData; MapData mapData = gameMain.IngameData.MapData; int oneHotSize = 5; for (int y = 0; y < mapData.BoardColumns; y++) { for (int x = 0; x < mapData.BoardRows; x++) { SlotTile slotTile = mapBoardData.GetSlotTile(x, y); var type = slotTile.ColorBlock.BlockColorType; for (var i = 0; i < oneHotSize; i++) { sensor.AddObservation((i == (int)type) ? 1.0f : 0.0f); } } } } 유니티 mlagnet match3 샘플을 참고해서 agent가 받는 소스를 만들었습니다. public override void OnActionReceived(ActionBuffers actionBuffers) { int aiIndex = actionBuffers.DiscreteActions[0]; MapBoardData mapBoardData = gameMain.IngameData.CurBoardData; var touchSlotIndex = (SharedInt)gameMain.behavior.GetVariable("touchSlotIndex"); var targetSlotIndex = (SharedInt)gameMain.behavior.GetVariable("targetSlotIndex"); int BoardRows = gameMain.IngameData.MapData.BoardRows; int BoardColumns = gameMain.IngameData.MapData.BoardColumns; int row, col; if (aiIndex < (BoardColumns - 1) * BoardRows) { col = aiIndex % (BoardColumns - 1); row = aiIndex / (BoardColumns - 1); int _Index = GetIndex(col, row); touchSlotIndex.SetValue(_Index); int _tarIndex = GetIndex(col + 1, row); targetSlotIndex.SetValue(_tarIndex); } else { var offset = aiIndex - (BoardColumns - 1) * BoardRows; col = offset % BoardColumns; row = offset / BoardColumns; int _Index = GetIndex(col, row); touchSlotIndex.SetValue(_Index); int _tarIndex = GetIndex(col, row + 1); targetSlotIndex.SetValue(_tarIndex); } Debug.Log("###OnActionReceived - end"); } 보상은 매칭되는 블럭이 수 만큼 보상을 주도록 했습니다. 3개 매칭 되면 0.3점 4개가 매칭 되면 0.4점 이런식으로요. match3MLAgentsBoard = gameObject.GetComponent<Match3MLAgentsBoard>(); foreach (DamageObject damageObject in gameMain.IngameData.DamageList) { foreach (var baseObject in damageObject.BaseObjectBlocks) { gameMain.IngameData.mReward += 0.1f; rewardSum += 0.1f; } } match3MLAgentsBoard.AddReward(rewardSum); Behavior Paremeters 세팅 입니다. 8*7*5=280 8*(7-1) +7*(8-1) =97 해서 나온 값을 넣어 줬습니다.(유니티 셈플 계산법) mlagents-learn "C:\Users\TT\Desktop\ml-agents-release_21\config\ppo\Match3.yaml" --env=C:\MyProject\MatchPuzzle\Client\trunk\MatchPuzzle\run\MatchPuzzle.exe --run-id=InGameMain --force --no-graphics 하고 나니 이렇게 나오고 학습이 안되었습니다.. 그래서 mlagent match3 샘플을 보니. Match3SensorComponent Match3ActuatorComponent 있다는걸 찾았고 Match3SensorComponent에 Write(ObservationWriter writer) 부분과 Match3ActuatorComponent의 OnActionReceived(ActionBuffers actions)부분을 흉내 내어 Component을 만들고 Match3MLAgentsBoard CollectObservations 함수와 OnActionReceived함수는 주석을 쳤습니다. 그리고 실행 mlagents-learn "C:\Users\TT\Desktop\ml-agents-release_21\config\ppo\Match3.yaml" --env=C:\MyProject\MatchPuzzle\Client\trunk\MatchPuzzle\run\MatchPuzzle.exe --run-id=PuzzleMatch3Sencor --force --no-graphics 여전히 학습이 안되여서.. 유니티 mlagent가 제공하는 match3 샘플을 돌려 보기로 했습니다. mlagents-learn "C:\Users\TT\Desktop\ml-agents-release_21\config\ppo\Match3.yaml" --env=C:\Users\yree1\Desktop\ml-agents-release_21\Project\Match3Run\UnityEnvironment.exe --run-id=UnityMatch3Data --force --no-graphics 샘플도 딱히 학습이 된다고 보기 어려워서.. 혹시 너무 짧아서 학습이 제대로 안되었다고 생각되어 더 길게 학습을 하였습니다. 여전히 학습이 제대로 안되는거 같아서 mlagnet 셋팅 환경이 문제일지 몰라서 3dball 프로젝트를 돌려 봤습니다. mlagents-learn "C:\Users\TT\Desktop\ml-agents-release_21\config\ppo\3DBall.yaml" --env=C:\Users\yree1\Desktop\ml-agents-release_21\Project\3DBallRun\UnityEnvironment.exe --run-id=3DBallData --force --no-graphics 엄청 학습이 잘됩니다. 3dball만 잘 학습 됩니다.. 혹시나 싶어서 Release 20에서도 학습을 진행 했지만.. 결과는 똑같이 제대로 학습 되지 않았습니다. 제일 궁금한건 왜 match3 agent가 잘 학습을 못하는지 굼금합니다.. 제가 만든건 왜 학습이 안되는지..궁금 하지만 더 궁금한건.. 유니티에서 제공하는 match3은 문제가 없을텐데.. 제가 뭔가 명령어 옵션이나.. 등등을 놓친게 있을까요?? 정말 아무것도 손 안되고 Release 21압축 풀고 바로 돌린건데요. 그 외에 몇까지 궁금한게 있습니다. 학습을 시키면 어느Step까지 기다리고 학습을 평가 해야 되는지..아까보여 드렸든 match3 보상 값은 올라 갔다 내려갔다 계속 값이 왔다 갔다만 있습니다.. 이걸 계속 기다리다보면 언젠가 학습을 잘하게 되는지..값이 계속 왔다 갔다 거리면 그만 해야 되는지..학습이 실패 했다고 정확하게 아는 방법이 있나요? 유니티 mlagent가 제공하는 match3은 왜 Agent을 상속 받아 CollectObservations,OnActionReceived함수를 정의 안하고.. Match3SensorComponent,Match3ActuatorComponent 만들어서 학습을 진행 했는지 궁금합니다. match3 센서값 엑터값을 위에 적은 방법이 아닌 다른 방식으로 많이 셋팅 해봤습니다. 그러나 제대로 학습 되는 경우가 없었습니다.. 인공지능 ppo 알고리즘이 제대로 된 결과값을 얻을 수 있는 팁이나 약간의 규칙(이렇게 하면 조금 잘된다..) 이런게 있을까요? Match3.yaml 파일만 유일하게 learning_rate_schedule: constant을 쓰고 있습니다. 나머지 파일은 전부 learning_rate_schedule: linear 쓰고 있습니다. constant,linear 차이가 뭔가요?? constant을 linear 로 바꾸고 학습 했지만.. 결과는 여전히 학습 되지 않았습니다. 파이썬으로 ppo 구현해서 유니티랑 연동하면 왜 학습을 잘 못하는지.. 어떻게 하면 잘 할수 있는지.. 등등이 도움이 될만한 것들이 있을까요? 기존 유니티가 제공하는 ppo를 쓰지 않고 python으로 제작해서 작업 하면 어떤 이득이 있을까요? match3 게임 말고 다른 게임에 mlagent를 적용하고 싶은데요.. match3 같은 색깔 블럭이면 게속 연결 가능한 게임 입니다. 프렌츠타워 라는게 임이 가장 유명합니다. 사진첨부 합니다. 위에 게임처럼 연결 할 수 있는 블럭이 3개 ,4개 5개일수도 8*7이라면 56개 일수도 있는 상황은 Behavior Paremeters 세팅은 어떻게 하나요? 8*7퍼즐판이라면 discrete branches 56이되고 Branch 0~Branch 55까지 다 55값을 넣어서는 학습이 잘 안됩다.. 이걸 어떻게 해야 될지.. 전혀 몰르겠습니다. 긴글 읽어주셔서 감사합니다.. 수업 내용과 직접적인 관련이 없는 내용을 질문해서 죄송합니다. 하지만 여기 말고는 물어볼 곳이 없어서.. 이렇게 글 남기게 되었습니다. 감사합니다.
안녕하세요 루키스님의 이번강의가 처음인 수강생입니다. 클라이언트 작업만 하다가 서버 작업은 처음인지라 chat gpt 돌려가며 1주차 서버 스크립트에 주석으로 공부한 내용을 달아놨고 앞으로 추가되는 스크립트들은 직접 복사해서 붙여넣고 또 주석으로 공부한 내용을 넣어놓을 생각이었는데 매번 바뀌는 강의자료에 제가 공부했던 내용을 덧붙일 자신이 없습니다... 앞으로도 추가되는 스크립트를 직접 추가하게 될때, 해야 하는 절차를 알 수 있을까요?
안녕하세요 싱글턴 관련해서 질문이 있습니다 싱글턴 클래스가 결국 어느 위치에서든 참조할 인스턴스를 생성하는건데 static으로 선언한 클래스도 동일한 기능을 하잖아요? static 클래스로 선언안하고 singleton으로 구현하는 자세한 이유가 궁금합니다! 관련해서는 사실 찾아보면서 대략적으로 알고는 있는데 뭔가 더 명료한 답변이 필요하고 현업에 관해서도 얘기를 들을 수 있으면 좋을거같아 질문드립니다 좋은강의 감사합니다
16:17 print('Combined ~', ~); 에서 %.5lf 가 궁금합니다. 일단 %.5f 라면 소수점 다섯번째자리 표시하는 건데, 이때 반올림을 하는 건가요? 그리고 %.5f 사이에 있는 'l'의 의미를 모르겠습니다. 18:11 float fnum = 3.14f; 라고 되어있는데 3.14 뒤에 붙은 f는 오타일까요? 아니면 다른 뜻이 있는 건가요? 출력 결과를 보면 f는 없는 글자처럼 사용된 것 같아 여쭤봅니다.
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련다문의는 1:1 문의하기를 이용해주세요. 강의를 쭉 따라가면서 실습 중입니다. 강의 자료를 그대로 복사 붙여넣기 하였는데, reviews/new reviews/<pk>/ reviews/<pk>/edit 는 정상 작동하나 reviews/ 의 경우, localhost:8000/accounts/login/?next=/blog/reviews/ 로 redirect 되고 accounts/login이 정의되지 않아 404 not found 에러가 발생합니다 강의 순서 상 profile edit만 accounts app에 구현되어 있는 상황입니다. 하기와 같이 잘 복사해서 사용하였는데 왜 이런 오류가 발생할까요? # views.py review_list = ListView.as_view( model=Review, ) # urls.py path("reviews/", views.review_list, name="review_list"),
안녕하세요, 비교연산자와 반복문+조건문 문제풀이에서 15:33 부분 질문이 있습니다.보면 b%2==0은 짝수일 때 sum=sum+b이고 홀수일 때는 sum=sum-b로 이해하면 될까요?그리고 해당 계산식이 끝나고 a++로 되있는데 제가 알기로는 a++이면 나중에 증가로 알고있는데 a는 나중에 1증가인가요 아니면조건식이 끝나고 b에 2증가하는 것처럼 바로 1증가시키면 되는건가요?
안녕하세요 일코님 좋은 강의를 해주셔서 감사합니다. 제가 지금 하고 있는 작업은 한글파일이 pdf파일로 변환된 파일을 다시 한글파일로 변환하는 것입니다. 이때, 한PDF를 사용하면 한글파일로 아주 나이스하게 변환되는 것을 보고 이걸 파이썬으로 자동화할 수 없을까 고민하고 있습니다. pdf를 일반 파이썬 라이브러리로 읽어와서 text로 변환하는 코드말고 한pdf의 기능을 이용하여 pdf를 한글파일로 바로 변경할 수 있는 라이브러리나 코드가 있을까요? 늘 감사드립니다