전체 글 55

[Error Solution] Import error: No module name urllib2

Import error: No module name urllib2 웹과 관련된 코드를 작성하는데 필요한 라이브러리 중 urllib라는 라이브러리가 있습니다. 이 라이브러리는 urllib와 urllib2가 구분되어 있습니다. urllib2 라이브러리에서 웹페이지를 여는 코드를 실행시켜보면 위와 같은 에러가 발생합니다. 이 에러는 현재 사용하고 있는 파이썬의 버전 때문에 생길 수 있습니다. 파이썬 버전 2와 파이썬 버전 3에서 사용하고 있는 라이브러리가 약간의 차이가 있는데 urllib2도 그러한 라이브러리 중 하나입니다. 이러한 에러를 해결하기 위해서는 urllib2 대신 다른 라이브러리를 사용해주어야 합니다. urllib2 대신에 urllib.request.urlopen을 사용하면 웹페이지를 열 때 에러..

[Error Solution] UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position ____: illegal multibyte sequence

UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position ____: illegal multibyte sequence csv 파일을 파이썬에서 읽어들일 때 해당 에러가 발생하였습니다. 이러한 종류의 에러는 'cp949' 코덱으로 인코딩 되어있는 파일을 읽을 때 발생합니다. 몇가지 해결방법이 있지만 가장 간단한 해결방법은 파일을 읽어들이는 함수 안에 encoding 이라는 파라미터를 설정해 주는 방법입니다. 함수 내부에 encoding="UTF8" 을 설정해주면 'cp949' 코덱으로 인코딩 되어있는 파일을 'UTF-8' 형식으로 인코딩한 후 읽어들이기 때문에 문제가 발생하지 않습니다. python version: 3.7.13

[Code Solution] 폴더(디렉토리) 생성하기

폴더(디렉토리) 생성하기 os 라이브러리에서 제공하는 함수를 사용하여 폴더(디렉토리)를 생성해보겠습니다. os 라이브러리는 파이썬에 기본적으로 내장되어 있는 라이브러리로, 폴더 생성, 파일 유무 확인등 다양한 함수를 제공하고 있습니다. os 라이브러리에서 폴더(디렉토리)를 생성하는데 사용되는 함수는 크게 2가지가 있습니다. mkdir() 함수는 내부에 입력된 경로로 들어가서 1개의 폴더를 생성하는 함수이고, makedirs() 함수도 마찬가지로 입력된 경로의 모든 폴더를 생성하는 함수입니다. 좀더 간단하게 예를 들어보겠습니다. mkdir("./new_folder_A")를 실행시킨다면 폴더가 정상적으로 생성될 것입니다. 하지만 만약 new_folder_A가 없는 상태에서 mkdir("./new_folder..

[Code Solution] Tensorflow, Keras 모델 동일한 결과 얻기

Tensorflow, Keras 모델 동일한 결과 얻기 Deep Learning 모델을 구축할 때 Tensorflow, Keras 라이브러리를 많이 사용하고 있습니다. 하지만, Deep Learning 모델의 특성상 학습할 때마다 결과가 달라질 수 있습니다. 따라서, 동일한 결과를 얻기 위하여 random seed를 설정해 주어야 합니다. import tensorflow as tf import numpy as np import random random_seed = 42 random.seed(random_seed) np.random.seed(random_seed) tf.set_random_seed(random_seed) python version: 3.7.13 ※ 만약 위의 코드와 같이 random see..

[Error Solution] attributeerror 'str' object has no attribute 'decode'

attributeerror 'str' object has no attribute 'decode' keras.models.load_model() 함수를 사용하여 저장한 keras 모델을 불러올 때 해당 에러가 발생하였습니다. 검색 결과 h5py 라이브러리와 관련된 에러라고 합니다. 먼저 h5py 라이브러리가 설치되어있는지 확인을 해본 후, 만약 설치가 되어 있지 않았다면 "pip install h5py==2.10.0"를 통하여 설치를 해주면 에러가 해결됩니다. 만약 이미 설치가 되어 있고 버전이 3점때라면 이때는 "pip install h5py==2.10.0 --force-reinstall"를 통하여 다운그레이드를 진행해주면 에러가 해결됩니다. python version: 3.7.13

[Code Solution] 올림, 내림, 반올림 하기

올림, 내림, 반올림 하기 파이썬에 내장된 round() 함수는 2개의 인자를 받아서, 소수 몇째 자리에서 반올림을 할지를 결정해줄 수 있습니다. 하지만, math 라이브러리에서 제공하는 ceil(), floor() 함수는 무조건 소수 첫째 자리에서 올림 혹은 내림을 해줍니다. 따라서, round() 함수와 같이 2개의 인자를 받아서, 소수 몇째 자리에서 올림 혹은 내림을 해줄지 결정할 수 있는 사용자 정의 함수를 구현해 보았습니다. import math # 올림 def myCeil(number, ndigits): number = number * math.pow(10, ndigits) number = math.ceil(number) number = float(number) / math.pow(10, nd..

[Code Solution] 연속된 숫자들로 이루어진 부분 리스트 찾기

연속된 숫자들로 이루어진 부분 리스트 찾기 list = [2, 3, 4, 5, 6, 7, 10, 11, 12, 15, 16, 17, 21, 22, 30, 31, 32, 33, 34] continuous_values_lists = [] current_continuous_values = [] value = list.pop(0) current_continuous_values.append(value) while(len(list) > 0): next_value = list.pop(0) if value+1 == next_value: current_continuous_values.append(next_value) value = next_value else: continuous_values_lists.append(cu..

[Multi-Agent Search_5] Evaluation Function (1)

※ 이 글은 "UC Berkeley CS188 Intro to AI"의 "Project 2: Multi-Agent Search"을 해결하는 과정을 정리한 글입니다. Evaluation Function Pacman을 위하여 betterEvaluationFunction에 더 좋은 평가 함수를 구현해 보십시오. 이번에 구현해야 하는 평가 함수는 Reflex Agent의 평가 함수처럼 Action을 평가하는 것이 아닌 State를 평가해야 할 것입니다. 코드를 구현하기 위하여 과제의 탐색 코드를 포함한 어떠한 도구도 사용 가능합니다. 1개의 유령이 포함되어 있는 smallClassic 게임에서 깊이가 2인 탐색 코드를 사용하여 구현된 평가 함수는 전체 소요 시간의 절반 이상을 Pacman이 적당한 스피드로 움직..

반응형