본문 바로가기
728x90
반응형

PROGRAMING📚/Python📑39

Issues :: PyTorch .h 학습 모델을 ONNX로 변환 안되는 문제 해결하기 Issues :: PyTorch .h 학습 모델을 ONNX로 변환 안되는 문제 해결하기  해당 문제로 2-3일 정도 사용해서 문제를 해결했다일단 내가 하고싶었던 코드는 개랑 고양이를 구별하는 학습모델(.h5) 를 ONNX로 변환하려고 하는데# test-modelData.pyimport tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropoutfrom tensorflow.keras.preprocessing.image import ImageDataGeneratorimport os# GPU 메모리 설정gpus = .. 2024. 12. 20.
thinter-데이터 불러오기 analysisVisualization/database/mainStart.py 여기서 시작함from analysisVisualization.database.controller.MemberController import MemberControllercontroller = MemberController()controller.member_controller('Login')DaoMemberfrom analysisVisualization.database.dao.DaoSet import DaoSet as dao'''CREATE TABLE member7( memno INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, id VARCHAR(20) NO.. 2024. 12. 3.
Python - Database Python - Database몽고DB(MongoDB)는 NoSQL 데이터베이스 중 하나로, 데이터를 문서(document) 형식으로 저장하는 문서 지향형 데이터베이스입니다. 관계형 데이터베이스와는 다른 구조와 기능을 가지고 있으며, 데이터를 유연하게 저장하고 처리할 수 있는 특성을 가지고 있습니다. 주요 특징과 기본 개념을 중심으로 MongoDB를 설명하겠습니다.1. MongoDB의 특징문서 지향(Document-Oriented) 저장: MongoDB는 데이터를 BSON (Binary JSON) 형식으로 저장합니다. BSON은 JSON과 유사한 구조를 가지며, 이는 데이터의 유연한 구조를 가능하게 합니다. 각 문서(Document)는 JSON-like 객체로 저장되며, 필드마다 다양한 데이터 타입을 가.. 2024. 12. 2.
dataAnalysis dataAnalysissinger1.csvimport csvimport globimport osfile_list = glob.glob(os.path.join('./source/', '*.csv'))firstYN = Truefor input_file in file_list: with open(input_file, "r") as inFp: with open('../source/singer1.csv', "a", newline='') as outFp: csvReader = csv.reader(inFp) csvWriter = csvWriter(outFp) header_list = next(csvReader) if firstYN == True: csvWrite.. 2024. 12. 1.
RawImageViewer / NoteFile ```import tkinter as tkclass CoordinateTool:    def __init__(self, root):        self.root = root        # 라벨 초기화        self.label = tk.Label(root, text="마우스로 클릭하세요!")        self.label.pack(pady=10)        # 마우스 클릭 이벤트 바인딩        self.root.bind("", self.on_click)        # 창 크기 조절 이벤트 바인딩        self.root.bind("", self.on_resize)    def on_click(self, event):        # 마우스 클릭 시 호출되는 함수        cl.. 2024. 11. 30.
python - windowLocationInfo import tkinter as tkclass CoordinateTool: def __init__(self, root): self.root = root # 라벨 초기화 self.label = tk.Label(root, text="마우스로 클릭하세요!") self.label.pack(pady=10) # 마우스 클릭 이벤트 바인딩 self.root.bind("", self.on_click) # 창 크기 조절 이벤트 바인딩 self.root.bind("", self.on_resize) def on_click(self, event): # 마우스 클릭 시 호출되는 함수 click.. 2024. 11. 29.
Excel 이용해서 파일 불러오기 pip ( python install package )pip install xlrd xlwt 명령은 파이썬에서 Excel 파일을 읽고 쓰기 위한 라이브러리 두 개를 설치하는 명령어입니다. 각각의 라이브러리 기능은 다음과 같습니다.xlrd: Excel 파일(주로 .xls)을 읽는 데 사용하는 라이브러리입니다. 이 라이브러리는 이전에는 .xlsx 파일도 지원했지만, 버전 2.0.0부터는 .xls 파일만 지원합니다. .xlsx 파일을 읽으려면 openpyxl과 같은 대체 라이브러리를 사용해야 합니다.xlwt: Excel 파일을 작성하거나 수정하는 데 사용하는 라이브러리입니다. 주로 .xls 파일을 생성할 때 사용되며, .xlsx 파일은 지원하지 않습니다.설치 방법이 두 라이브러리를 설치하려면 다음 명령어를 터.. 2024. 11. 28.
Python - tkinter tkinter를 사용한 Window 화면 띄우기💡tkiner 사용하기 위한 선언import tkinterfrom tkinter import *창 만들기window = Tk()window.title("MyWindow")window.geometry("400x400-300+300")window.config(bg='skyblue')window.resizable(1, True)window.mainloop()버튼 만들기# pack 상대 위치 , top, bottom, left, right, side 없으면 centerbtnConfirm = Button(window, text="Confirm", relief="solid" , overrelief='groove', anchor='n')b.. 2024. 11. 28.
Python -dict Python -dict💡dict(키를 이용하여 값을 저장하는 자료형)정수형 인덱스가 아닌 키로 값을 저장하기 때문에 저장된 순서는 무의미key는 중복 불가(immutable), value(mutable)는 중복 가능d = dict()print(d, type(d))결과{} d ={}print(d, type(d))결과{} d= {"a": 1, "b": 2,"c":3}print(d)d['a'] =10print(d)d['d'] =4print(d)#print(d['k']) #없는 key는 에러print(d.get('k', 100)) #없는 경우 default 적용결과:{'a': 1, 'b': 2, 'c': 3}{'a': 10, 'b': 2, 'c': 3}{'a': 10, 'b': 2, 'c': 3, 'd': 4.. 2024. 11. 27.
Python-Set 💡Set(중복과 순서가 없는 자료형)순서가 없기 때문에 인덱싱이 지원 안됨s = set()print(s, type(s))s= set([1,2,3,4,5])print(s, type(s))s = set("HELLO")print(s, type(s))set() {1, 2, 3, 4, 5} {'E', 'O', 'L', 'H'} s1 = {1,2,3,4,5}s2 = {3,4,5,6,7}print(F"합집합 : {s1} ⋃ {s2}")print(s1.union((s2)))print(set.union(s1, s2))print(s1 | s2)합집합 : {1, 2, 3, 4, 5} ⋃ {3, 4, 5, 6, 7}= {1, 2, 3, 4, 5, 6, 7}{1, 2, 3, 4, 5, 6, 7}{1, 2, 3, 4, 5, 6.. 2024. 11. 26.
[Python]Tuple Tuple💡tuple (다양한 자료형을 순차적으로 저장하는 집합 자료형)list 와 다르게 원소 변경이 불가! 읽기 전용!!!상수적인 특징을 가지고 있기 때문에 List 보다 연산에 빠르다t = tuple()print(id(t))t = (1,2,3,4,5)print(id(t))1407267367257362311505866208t= tuple(range(0,5))print(t , id(t))(0, 1, 2, 3, 4) 2094864889104for i in t: print(i, end=" ")print()print(t.index(len(t)-1))0 1 2 3 44# 연산가능u= t+tprint(u)[결과](0, 1, 2, 3, 4, 0, 1, 2, 3, 4)groups =( ('강길동', 100,9.. 2024. 11. 25.
[Python] 리스트 List Python - Listprint("1. List(다양한 자료형을 순차적으로 저장하는 집합적 자료형")l = list()print(id(l)) #id(): hash code의 값을 불러옴l=[1,2,3] #list를 새로 초기화print(id(l))print(l, type(l))1. List(다양한 자료형을 순차적으로 저장하는 집합적 자료형28294924842882829490917760[1, 2, 3] 💡insert(인덱스, 값)는 index를 활용해서 추가한다append(값) 는 리스트의 끝 부분부터 추가한다l=[]for i in range(0,10): #l[i] = i l.append(i) l.insert(i,i+1)print(f"l : {l}")print(f"id(l) : {id(l)}")p.. 2024. 11. 24.
[Python]반복문 roof 반복문 roof💡for 변수 in 리스트 (또는 튜플, 문자열) :수행 문장1수행 문장2...print("{0:=^20}".format("반복문"))ls=['one', 'two','three']for i in ls: print(i)========반복문=========onetwothreefor i in range(0, len(ls)): print(ls[i],'index: ',ls.index(ls[i])) # 리스트의 인덱스를 이용한 접근 방법one index: 0two index: 1three index: 2a=[(97,'a'),[98,'b'],(99,'c')]for k, v in a: print(f"{k}:{v} \t", end="\n")97:a98:b99:cfor i in range(97,97+.. 2024. 11. 23.
Python - Operator(연산) Operator(연산)print("{0:=^30}".format(' 1. 사칙 연산자 '))print("Quiz) 10을 3으로 나누었을 때 몫과 나머지를 구하시오")print(int(10 / 3), 10 % 3)print("몫: %d, 나머지: %d " % (10 // 3, 10 % 3))print("몫: {}, 나머지: {} ".format(10 // 3, 10 % 3))print("10의 3승: {}".format(10 ** 3))========= 1. 사칙 연산자 ==========Quiz) 10을 3으로 나누었을 때 몫과 나머지를 구하시오3 1몫: 3, 나머지: 1몫: 3, 나머지: 110의 3승: 1000https://coding-factory.tistory.com/653보수란보수는 보충을 해.. 2024. 11. 22.
[Python]condition - 조건문 tkinter조건문(condition)a= input("숫자를 입력하세요: ")print(a)숫자를 입력하세요: 1010from tkinter import simpledialogscore = simpledialog.askinteger("Input","Your Answer",parent=None)result=''if score >=90: result ='A'elif score >= 80: result ='B'elif score >=70: result ='C'else: result ='F'print(f'당신의 학점은 {result}') 창을 닫았을 경우 처리from tkinter import simpledialogscore = simpledialog.askinteger("Input","Your Ans.. 2024. 11. 16.
[Python]constant Constant파이썬에서는 일반적으로 "상수(constant)"라는 개념이 변수와는 조금 다르게 다루어집니다. 다른 언어들에서는 상수를 지정하여 값이 변하지 않도록 할 수 있지만, 파이썬은 기본적으로 변수를 변경 불가능하도록 강제하지는 않습니다.하지만, 파이썬에서 상수를 나타내기 위해 관습적으로 다음과 같은 방법을 사용합니다:대문자 표기: 상수로 사용하려는 변수 이름을 모두 대문자로 작성합니다. 예를 들어, PI = 3.14159와 같이 합니다. 대문자로 된 변수는 상수처럼 다뤄야 한다는 암묵적인 규칙이 있습니다.PI = 3.14159 GRAVITY = 9.81명시적 _constant: 때때로 라이브러리나 모듈에서 _constant라는 이름을 붙여서 상수처럼 사용할 수 있습니다. 이는 주로 모듈 수준에서.. 2024. 11. 14.
[Python]Variable[ 자료형 ] 변수의 명명규칙1) 예약어 안됨2) _, 영문자(대소문자 구별), 숫자(시작 안됨)3) 특수문자, 공백 안됨4) 클래스는 Pascal case, 변수나 함수는 Snake case5) Python에서는 null 대신 None 사용print("=== 논리형 ===")a = Trueprint(type(a), type(False))print("=== 숫자형 ===")b = 10print(type(b))print(type(1.0))c = 10 + 5j + 6Jprint(type(c)) # 복소수print(type('Hello Python')) 논리 자료형 : True, Falseprint("{0:=^20}".format('Boolean Type'))a = Trueprint(type(a), type(False)).. 2024. 11. 13.
thinter-데이터 불러오기 analysisVisualization/database/mainStart.py 여기서 시작함from analysisVisualization.database.controller.MemberController import MemberControllercontroller = MemberController()controller.member_controller('Login')DaoMemberfrom analysisVisualization.database.dao.DaoSet import DaoSet as dao'''CREATE TABLE member7( memno INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, id VARCHAR(20) NO.. 2024. 11. 12.
[Python]Python-Gramma- Print Python-GrammaPython 은 Script 언어로 소스코드를 한줄씩 읽어 바로 실행하는 Interpreter 방식소프트웨어를 실행하는 방식에 따라 크게 두 가지 접근 방식이 있음1. 인터프리터 방식인터프리터는 소스 코드를 한 줄씩 읽고 해석하여 실행하는 방식입니다. 즉, 코드를 한 번에 한 줄씩 처리하고 즉시 실행하는 방식이죠. 대표적인 인터프리터 언어로는 Python, JavaScript, Ruby 등이 있습니다.장점:즉시 실행: 코드 작성 후 바로 실행할 수 있어 개발 과정에서 빠른 피드백이 가능합니다.디버깅 용이: 실행 중 오류를 즉시 발견하고 수정할 수 있습니다.단점:속도: 소스 코드를 실시간으로 해석해야 하므로 실행 속도가 상대적으로 느릴 수 있습니다.반복 실행: 매번 코드 실행 시마다.. 2024. 11. 11.
[파이썬 Python] Gabor Filters(가보르 필터) 이미지 적용하기 import numpy as np import cv2 import matplotlib.pyplot as plt ksize = 5 sigma =3 theta =1*np.pi/4 lamda = 1*np.pi/4 gamma =0.5 phi =0 kernel = cv2.getGaborKernel((ksize, ksize),sigma, theta, lamda, gamma, phi, ktype = cv2.CV_32F) plt.imshow(kernel) import numpy as np import cv2 import matplotlib.pyplot as plt ksize = 50 sigma =3 theta =1*np.pi/4 lamda = 1*np.pi/4 gamma =0.5 phi =0 kernel = cv2.g.. 2023. 2. 14.
파이썬(Phython) 파일 읽고 쓰기 파일 읽고 쓰기 파일의 필요성 : 전원이 꺼지더라도 파일이 저장된다. 파일 경로 : 파일이 저장되어 있는 실제 위치를 명시한다. 파일 입력 관련 함수 read() readline() readlines() write() writelines() 파일에서 데이터 읽기 1. 파일 열기 파일의 내용을 읽거나 파일에 뭔가를 쓰기 위해서 파일열기를 해주어야함 open -> 파일의 존재 여부를 확인 r = 파일 읽기 만 w =파일에 내용 쓸때 만 a = 파일에 내용을 추가 할때 2. 파일에서 데이터를 읽거나 쓰기 read() readline() readlines() 3. 파일과 관련된 작업이 모두 종료되면 파일 닫기 (실습 1) import os.path #파일 경로 등 확인을 위한 함수를 가지고 있는 모듈 f2 = .. 2022. 4. 14.
파이썬(Phython) 랜덤 함수 응용하기 랜덤 함수 사용하기 랜덤함수를 사용하기 위해서 다음 코드를 임포트 해주어야 합니다. import random as r print(r.random()) #0~1사이 랜덤 print(r.randint(1,10)) #1~10사이 정수 print(r.uniform(1,10)) #1~10사이 실수 print(r.sample(range(1,10),5)) print(r.randrange(1,3)) #동전 던지기 shuffe() : 리스트를 섞어줌. choice() : 리스트에서 원하는 숫자를 선택 가능하게 해줌. 주사위 10번 던져서 나온 숫자의 합 계산하기 import random as r total = 0 for i in range(10): print("주사위를 굴리세요!") r_count = r.randint(.. 2022. 4. 14.
파이썬(Phython) 모듈과 패키지 모듈 자주 쓰는 기능들을 하나로 묶어 놓을 것으로 함수나 변수 또는 클래스들을 모아 놓은 파일을 의미한다. 보통 하나의 파이썬 파일이 하나의 모듈이다. 모듈은 다른 파이썬 프로그램에서 불러와 사용 할 수 있게 만들어진 파일을 말한다. +함수의 장점을 다 포함하고 있다. import 프로젝트명 import 프로젝트명 as b 원하는 함수만 사용하기 form 프로젝트명 import 사용을 원하는 함수 모든 함수 불러오기 form 프로젝트명 import* -> 함수 호출시 모듈명 생략 가능 .close() : 작성하지 않으면 저장되지 않을 수 있음 자동 close 가능 -> with open(".txt", " ")as f: //적어주고 다음줄 들여쓰기 cvc파일 : 데이터 값을 구분할때 단순히 쉼표를사용한다... 2022. 4. 14.
파이썬(Phython) 문자열 검사 /변환 / 공백 제거 함수 파이썬 내장함수 내장함수 : 파이썬이 자체적으로 가지고 있는 함수 (파이썬 인터프리터가 제공하는 함수) 문자열 내장 함수 문자 개수 세기 : count() - 전체 문자열 내 특정 문자열 위치 알려주기 : find(), index() * 둘 다 찾는 문자열이 처음 나타나는 위치를 알려준다. IF. 없는 문자열 일 경우, find()는 -1을 반환하고 index()는 오류가 발생한다. 문자열 삽입 : join() 인수로 받은 문자열의 문자들 사이사이에 앞의 문자열을 삽입한다. 문자열 나누기 : split() 인수로 받은 문자열을 기준으로 나누어 리스트의 원소로 만들어준다. ->구분자를 지정하지 않았으면, 파이썬이 공백을 사용해 문자열을 나누고, 연속해서 공백이 있을 경우,이를 하나의 공백으로 인식한다. -.. 2022. 4. 14.
파이썬(Python) 함수 정의와 활용 결과값 출력하기 함수 특정한 기능을 수행하는 코드들의 묶음을 말한다. 큰 문제를 나누어 해결 가능하다. 코드를 재사용 가능하다. 안정성 유지보수가 좋다. 함수 정의 다음과 같이 정의하고 들여쓰기 하여 사용 하여야한다. def 함수이름(): 함수의 형태 매개변수와 반환값의 유무에 따라 네 가지 형태의 함수가 존재한다. 매개 변수와 반환값이 모두 있는 함수 반환값만 있는 함수 매개변수만 있는 함수 모두 없는 함수 함수의 활용 1. 반복 한 프로그램 내에 특정한 작업이 여러번 걸쳐 나오는 경우, 동일한 문장을 함수로 만들어 함수 호출로 여러번 사용 가능함 2. 독립성 하나의 함수는 한 가지 기능만을 포함하는 것을 권장한다. 각각 독립적이면서 특정한 목적의 코드를 한 곳에만 작성하면 관리하기 쉽고 유지 보수가 편리하다. 자료형.. 2022. 4. 14.
파이썬(Phython) 딕셔너리 사용하기 딕셔너리 하나의 키에 하나의 값이 쌍을 이루어 저장되는 자료형을 말한다 . 쌍으로 이루어진 데이터를 관리 할 때, 다양한 속성을 가진 데이터를 관리 하기위해서 주로 사용된다. (주의!) 중복된 키를 사용할 수 없다.(하나를 제외한 나머지 키 값은 무시함) key는 숫자, 문자열, 값은 숫자, 문자열 리스트가 될 수 있다. 딕셔너리를 정의 할 때, 원소들의 묶음은 중괄호 { }로 감싸 주어야함 인덱싱 접근이 불가능하다. 딕셔너리 함수 keys :딕셔너리에 포함된 모든 key만을 반환 values :딕셔너리에 포함된 모든 value만을 반환 in :해당 key가 딕셔너리 안에 포함되어 있는지 검사 update : 두 개의 딕셔너리를 하나로 합침 clear 딕셔너리의 모든 요소를 제거 clear : 딕셔너리의.. 2022. 4. 14.
파이썬(Python) matplotlib 이용한 그래프 그리기 다음 사이트에서 다양한 그래프와 소스코드를 받을 수 있다. https://matplotlib.org/ 그래프를 그리기 위해서 는 다음과 같은 [ import matplotlib.pyplot as plt ]를 작성해 주어야한다. 하지만, 처음 파이썬을 실행하면 다음과 같이 오류가 생기는데, 현재 파이참에 다음과 같은 파일이 설치 되어 있지 않기 때문에 오류가 발생하는 것이다. [File ->Settings ->Project : PhythonData ->Project Interpreter ->(+)->검색: matplotlib-> 설치] bar(가로, 세로) : 막대 그래프 plot(가로 ,세로) :꺽은선 그래프 label : 그래프 항목에 대한 설명 .xlabel( ) : X축 제목 .ylabel( ) :.. 2022. 4. 14.
파이썬(Python) 리스트를 이용한 삽입, 삭제 응용하기 append :리스트의 마지막 위치에 새로운 원소를 추가 insert :리스트의 원하는 위치에 새로운 원소를 추가 remove: 지정한 원소 중 리스트에서 첫 번째로 나오는 원소 제거 extend :원래의 리스트에 새로운 리스트의 원소를 추가 count :리스트에 포함된 특정 원소의 개수를 알려줌 index :리스트에 지정한 원소가 있다면 그 원소의 위치를 알림 sort :리스트의 원소를 순서대로 정렬 reverse: 리스트의 원소를 역순으로 뒤집어 줌 sort() :리스트 원소를 순서대로 정렬 reverse() : 리스트에서 저장된 내용을 역순으로 출력(정렬 개념이 아님) (실습) 작업을 선택하여, 등록, 검색, 삭제가 가능하도록 만든다. words =[] while 1: num =int(input(".. 2022. 4. 14.
파이썬(Python) 홀수와 짝수의 갯수와 각 리스트의 합 구하기 * sum() : 리스트 원소의 합계 계산 * append() : 리스트에 값을 추가. 항상 현재 리스트 끝에 추가 * append() : 리스트에 값을 추가. 항상 현재 리스트 끝에 추가 * remove(): 리스트에서 지정한 값을 삭제 (실습1) 1~50개의 수에서 홀수와 짝수의 갯수와 각 리스트의 합 odd =[] #빈리스트 선언(홀수만 저장) even = [] #짝수만 저장 for i in range(1,51): #i 변수의 값이 1~50까지 1씩 증가하면서 변함 if i%2 == 1: #홀수 odd.append(i) #append는 리스트에 값을 추가. 항상 현재 리스트 끝에 추가 elif i%2 == 0: even.append(i) print('1~50 홀수',odd) print("홀수 갯수".. 2022. 4. 14.
파이썬(Python) 리스트의 정의 & 인덱싱과 슬라이싱 응용 리스트를 만들 때는, 대괄호([])로 감싸 주고 각 요소 값들은 쉼표(,)로 구분해 줌 (선언)리스트명 = [요소1, 요소2, 요소3, ...] (예)>>> odd = [1, 3, 5, 7, 9] 문자열에서 인덱싱은 무엇인가를 가리킨다는 의미를 가지고 긴 문자열에서 어떤 글자나 특정 위치를 가리키는 것을 말한다. 슬라이싱은 이러한 인덱스를 이용하여 원하는 부분의 문자열을 뽑아 내는 것을 슬라이싱이라고 한다. * 문자열은 한번 지정하면 더이상 바꿀수 없다. 인덱스를 이용하면 일부분을 변경 할 수 없지만, 슬라이싱 기능을 활용하여 문자열의 일부를 읽어 올 수 있다. * 여러개의 값을 하나의 변수로 관리한다. 여러개의 데이터를 일렬로 저장하고 순서 번호를 할당 해준다. 배열과 유사하지만 데이터타입이 동일 할 .. 2022. 4. 14.
728x90
반응형