(전) 엔코아 컨설팅
(전) 한국 오라클
AI 프리랜서 컨설턴트
파이썬 머신러닝 완벽 가이드 저자
Khóa học
Đánh giá khóa học
- Oracle hiệu suất phân tích và điều chỉnh phiên bản chính yếu hướng dẫn
- Hướng dẫn đầy đủ về CNN (Mạng nơ-ron tích chập) trong Deep Learning - Phiên bản Pytorch
- Hướng dẫn đầy đủ về CNN (Mạng nơ-ron tích chập) trong Deep Learning - Phiên bản Pytorch
- [Bản sửa đổi] Hướng dẫn hoàn hảo về máy học Python
Bài viết
Hỏi & Đáp
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
안녕하십니까, 아쉽게도 교안은 제공되지 않습니다. 온라인 강의 만들때 출판사와의 협약으로 별도로 제공되지 않으니, 양해 부탁드립니다. 감사합니다.
- 0
- 2
- 10
Hỏi & Đáp
connect 구동 오류
안녕하십니까,오, 해결하셨군요.적어주신대로 Kafka를 재 초기화 하시면 실습 하실 때 문제는 없어질 것 입니다. 좀 더 자세한 내용은 섹션 4의 49. Kafka 실습 환경 전체 초기화 하기 를 참조해 주시면 됩니다.그리고 Retrying to fetch metadata 오류는 Connect에서 Kafka Broker 에 제대로 접속하지 못해서 발생하는 오류인데, 워낙 다양한 원인이 있어서 해결방법은 뭐라 제시하기가 어렵군요.bootstrap 설정, Network 연결등에 문제가 없을 경우에 Connect 초기화 먼저 시도해 보는 것도 방법일 수 있습니다. 좀 더 자세한 해결 방법은 zookeeper, kafka broker, connect의 log file들을 더 분석해 보고서 알아볼 수 있을 것 같지만, 기본적으로는 Connect Client가 Kafka Topic에 access할 때 발생하는 문제입니다. Connect 초기화로 안되면 해당 Connector가 access하는 Kafka Topic에 대해서 초기화가 필요할 수 있습니다. 감사합니다.
- 0
- 3
- 21
Hỏi & Đáp
cnt/max로 구한 결과의 차이
안녕하십니까, 첫번째 이유는 window 절이 다릅니다. rows between unbounded preceding and unbounded following을 사용하지 않았기 때문에 max(hit_seq)가 window를 session_id 내에서 순차적으로 이동하면서 계산하기 때문에 계산 결과가 다릅니다. 두번째 이유는 아래 인프런 AI 인턴이 잘 답변해 주었군요. 그대로 인용해 보면, max(hit_seq) over (partition by sess_id order by hit_seq desc):이 방법은 각 sess_id 그룹에서 hit_seq의 최대값을 구합니다. 여기서 hit_seq가 동일한 세션 내에서 고유의 값이 아닐 경우, 최대값을 사용하는 것은 오해를 불러일으킬 수 있습니다.예를 들어, hit_seq의 값이 실제로 누락되거나 비연속적으로 증가하는 경우가 있을 수 있습니다. 그럴 경우 최대값과 실제 개수 간의 차이가 발생할 수 있습니다. 그러니까, hit_seq가 보통은 순차적으로 생성이 되지만, 만에 하나 그렇게 나오지 않을 수가 있습니다. 예를 들어 데이터를 생성하는 application에서 잘못해서 hit_seq를 연속적으로 입력하지 못하거나, 또는 중간에 값이 빠진 상태로(1, 2, 그리고 5로) 만들어 질 수 있습니다. 그렇기 때문에 max(hit_seq)와 같이 적용하시면 정확한 답이 안 나올 수 있습니다. 감사합니다.
- 0
- 2
- 19
Hỏi & Đáp
FastAPI + Uvicorn 환경에서 메모리 누수 관련 문의드립니다.
안녕하십니까, 1, 2, 3번 한꺼번에 답변 드리겠습니다.FastAPI 메모리 누수는 금시초문 이군요. FastAPI는 이미 많은 사이트에서 안정적으로 사용되고 있습니다. 메모리 누수 걱정은 안 하셔도 될 것 같습니다. 웹 애플리케이션의 대부분 메모리 문제는 웹프레임워크(FastAPI, Spring등)의 문제가 아니라 사용자 코드에서 자원을 얻었다고 해제 시켜주지 않아서 발생하는 문제입니다( 대표적으로 DB Connection을 제대로 반환해주지 않는 경우 등). 강의에서 이런 부분에 대해서 중점적으로 말씀 드리고 있습니다. DB Connection을 사용하는 애플리케이션이라면 이 부분을 다시 확인해 보십시요.근데 LLM을 사용하는 애플리케이션에서 문제라면 CPU의 메모리가 문제인건가요? GPU의 메모리가 문제인건가요? (GPU 메모리가 문제라 질문을 올리셨을 것 같진 않지만) GPU 메모리가 문제라면 이건 모델 크기나 양자화로 해결하셔야 합니다.application에서 적은 용량이지만 반복적으로 사용하는데 리소스를 해제하지 않아서 메모리를 과대 사용하는 건지, 아님 원래부터 llm모델을 로딩하거나 inference 시에 과도한 메모리를 사용하고 있는 건지 먼저 확인해 보셔야 할 것 같습니다. Endpoint 레벨에서 메모리 사용량 체크하는 로직을 추가해서 테스트를 해보시는 게 좋을 것 같습니다.감사합니다.
- 0
- 2
- 38
Hỏi & Đáp
모델 변환 성능 질문드립니다.
안녕하십니까,(이미 잘 알고 계시겠지만) 생각보다 tflite 성능이 잘 나오지 않습니다. 특히나 작은 오브젝트를 Detect하는 경우는 더욱 더 성능이 떨어집니다.작업하신 모델의 성능 저하 원인이 tflite 자체 성능의 문제인지, 아님 ONNX -> tflite 변환의 문제인지는 테스트를 해보셔야 할 것 같습니다.제 생각엔 pytorch 모델을 일단 사용하지 마시고, tensorflow 기반인 EfficientDet (또는 EfficientDet Lite)모델로 학습을 하신 뒤 이를 tflite 로 변환하여 성능을 먼저 보시면 어떨까 싶습니다. 이게 성능이 안난다면 Custom 학습된 모델 자체가 성능이 더 높아야 할 것 같습니다.만약에 해당 모델이 성능이 어느정도 난다면, pytorch model -> ONNX -> tensorflow -> tflite 과정에서 어느정도 모델이 잘못 변환될 가능성이 있을 것 같습니다. 감사합니다.
- 0
- 1
- 30
Hỏi & Đáp
feature map 크기 질문
안녕하십니까, 5x5 밑에 보시면 same이라고 되어 있습니다. 이거는 padding이 same 이 적용되었다는 의미 입니다. 즉 27x27x96에 5x5 커널을 적용하더라도 27x27이 되도록 padding을 키운다는 의미 입니다(여기서는 padding을 2로 적용하면 됩니다). 그래서 size 면적 크기가 27x27x256 이 됩니다. 감사합니다.
- 0
- 2
- 26
Hỏi & Đáp
실루엣 스코어..
안녕하십니까,질문 내용을 잘 이해하지 못했습니다. Graph attention network은 저는 잘 모릅니다가급적 강의 내용에서 질문 부탁드립니다. 강의 외적인 부분도 답변은 드리지만, 아쉽게도 본 질문은 제가 잘 모르는 내용이라 답변을 드리기가 어렵군요(혹 아래 인프런 AI 인턴이 도움이 되었으면 하는 바램이 있습니다)감사합니다.
- 0
- 2
- 29
Hỏi & Đáp
float64 null 값 처리 방법
안녕하십니까, Colab 환경의 Pandas 버전이 실습 버전과 달라서 그런것 같은데, 아래 코드가 float64일때 제대로 동작하지 않는 것 같습니다. # object가 아닌 number 타입을 별도 리스트로 추출 num_columns=house_df.dtypes[house_df.dtypes!='object'].index.to_list() # Drop 하지 않는 number 타입 컬럼들에 대해서 Null컬럼들은 평균값으로 대체 house_df[num_columns].fillna(house_df[num_columns].mean(),inplace=True)아래와 같이 코드를 변경해 보시지요. num_columns = house_df.dtypes[house_df.dtypes != 'object'].index.to_list()# number 타입 컬럼들에 대해서 Null컬럼들은 평균값으로 대체for column in num_columns: house_df[column].fillna(house_df[column].mean(),inplace=True) 감사합니다.
- 0
- 2
- 32
Hỏi & Đáp
멀티 브로커 설정 중 포트 충돌 발생
안녕하십니까,지금 사용하시는 Confluent Platform 버전이 강의 실습용 버전과 다른 것 같습니다. confluent.metadata.server 는 신규 KRaft 기능 도입이 되면서 함께 사용되는 파라미터입니다.포트가 충돌 나시면 지금 설정하신대로 포트를 변경하시면 될 것 같습니다.감사합니다.
- 0
- 2
- 36
Hỏi & Đáp
CDC Connect 통시에서의 암호화 관련 하여 문의 드립니다.
안녕하십니까,저도 SSL 기반으로 외부 DB와 Connect를 연결해 보지는 않아서 100% 정확한 답변이 되기는 어렵지만.먼저 암호화를 어떻게 구성하시고 싶으신건지, 시스템 아키텍처는 어떻게 되어 있는지 자세히 기술되어 있지 않아서, DB는 외부 망에 있고, Kafka Connect와 Kafka Broker는 내부에 있는 걸로 가정하겠습니다(Kafka Connect와 Kafka Broker는 같은 시스템내에 있는 것이 좋습니다)이 경우 SSL을 통한 네트웍 구간 암호화를 외부 DB와 Connect간, 그리고 Connect와 Broker 간 두가지 영역으로 나눌 수 있습니다. 이 중에 외부 DB와 Connect 사이가 필요하신 것 같습니다만, Connect와 Broker사이도 내부망이지만 네트웍 구간 암호화를 적용하실 수 있습니다. 먼저 DB와 Connect 사이는 JDBC Connector를 사용할 경우와 Debezium Connector를 사용할 경우에 따라서 설정이 달라집니다. JDBC Connector 에서 SSL을 적용하신다면, 위에 적으신대로 jdbc 설정 부분을 변경해 주시면 됩니다. connection.url=jdbc:mysql://your-db-host:3306/mydb?useSSL=true&requireSSL=true&verifyServerCertificate=true만약에 verifyServerCertificate=true까지 하신다면 좀 더 복잡한 설정이 필요합니다. 아래 URL 참조하셔서 필요한 설정을 해주시면 됩니다. https://medium.com/@jayden_95845/jdbc%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-mysql-ssl-%EC%97%B0%EA%B2%B0-1c5da86cc2c5아마 아래와 같은 파라미터 설정이 추가로 필요하고, 이를 위한 MySQL 설정 작업도 필요합니다. trustCertificateKeyStoreUrl=file:/etc/kafka/secrets/mysql-truststore.jkstrustCertificateKeyStorePassword=your-passwordDebezium을 사용하신다면 아래와 같은 설정이 필요합니다. https://debezium.io/documentation/reference/stable/connectors/mysql.html 에서 해당 파라미터에 대한 내용들을 확인해 보시길 바랍니다. "database.ssl.mode": "verify_ca", "database.ssl.truststore": "/path/to/truststore.jks", "database.ssl.truststore.password": "truststore-pass" Connect와 Kafka Broker 사이에는 내부망이라 암호화가 필요 없어 보이지만, 필요하다면 아래와 같은 설정을 connect-distributed.properties에 해줘야 합니다. security.protocol=SSLssl.truststore.location=/etc/kafka/secrets/kafka-truststore.jksssl.truststore.password=your-passwordssl.keystore.location=/etc/kafka/secrets/kafka-keystore.jksssl.keystore.password=your-passwordssl.key.password=your-password 그리고 아래는 요청하신 답변입니다. 1.kafka에서 암호화 하여 통신이 가능한 걸까요? => 네, SSL 기반으로 네트웍 구간 암호화가 가능합니다.2. 암호하가 적용 된다면kafka connect 에서 동작 원리에 도 상관없이 적용이 될까요?=> 네, 상관없이 적용됩니다. 외부에 kafka connect로 DB의 데이터를 가져 오는 경우가 실무 에서도 많이 있나요?그럴 경우 데이터 암호화는 어떻게 처리 하나요?=> DB 자체가 내부망이 아니라 Public 망에 있는 경우는 드뭅니다. 제가 Connect를 사용하는 많은 사이트를 조사해본건 아니지만, 내부망이 아니라 외부망/Public 망에 있는 DB를 연결하는 경우는 많지 않을 것 같습니다. 원하시는 데이터 암호화가 어떤 유형인지 잘 모르지만, 앞에서 말씀드린 SSL 기반으로 JDBC 연결 구간 암호화가 일반적으로 사용됩니다. 감사합니다.
- 0
- 2
- 31