Loading...
2024. 10. 30. 20:47

Unexpected key(s) in state_dict: "model.electra.embeddings.position_ids". 에러 해결하기

예전에 학습한 모델을 다시 써볼려고 하는데 import pytorch_lightning as plimport torchimport torch.nn as nnfrom transformers import AutoTokenizer,AutoModelForSequenceClassification,BertForSequenceClassificationdevice = "cuda" if torch.cuda.is_available() else "cpu"class TextClassificationStudentModule(pl.LightningModule): def __init__(self, config, labels, lr=5e-4, alpha=1.0): super().__init__() se..

2024. 10. 26. 20:29

where절에 분명히 있는 column명을 썼는데 없다고 에러가 나는 이유(unknown column)

select name,email,substr(email,1,instr(email,'@')-1) as email_name from person;   위와 같은 테이블에서 email_name에 대해 where절로 원하는 데이터만 뽑을려고 했는데 select name,email,substr(email,1,instr(email,'@')-1) as email_name from personwhere email_name regexp '^[A-Za-z]+$';    이렇게 unknown column 에러가 남 chatgpt 피셜로 select 절에서 사용된 별칭은 where절에서 바로 사용 불가능이라함   이렇게 서브쿼리로 쓰거나 select * from (select name,email,substr(email,1,i..

브루트포스 문제 복기하면서 실수한 부분 체크하기1(어디서든 시작할 수 있다)

3129번: 상범이의 은밀한 메세지 암호화된 메시지랑 원본 메시지의 일부가 주어질떄, 원본 메시지를 찾는 문제 각 메시지에서 알파벳을 0~25로 치환하고  원래 메시지 + 키 = 암호화된 메시지 이기 때문에 암호화된 메시지 - 원래 메시지 = 키임을 알 수 있다. 여기서 원래 메시지의 일부분만 보여지기 때문에 암호화된 메시지랑 원래 메시지를 비교해서 가능한 모든 키를 구해야한다. 예를 들어 암호화된 psinottfn과 원래 메시지 most가 주어지는데 원래 메시지 most는 어디 부분인지 모르니까 0번부터 5번까지 most를 비교해보면서 키를 찾는다 psinottfnmost psinottfn  most ... for i in range(len(a)-len(b)+1): K = [] for..

2024. 10. 25. 20:57

탐색 범위를 줄여야하는 브루트포스 연습2 - 컴퓨터로 종이접기?

12979번: 종이 접기  종이의 크기 W,H인 종이가 주어질때 종이를 적절히 접어서 넓이가 A가 되도록 만들고 싶다. 종이를 접더라도 직사각형이 되도록 접어야하고 접고 나서도 W,H는 항상 정수가 되어야한다. 여기서 W,H가 10^9까지인데 A가 10^5까지라는 점에 주목하자. W,H로 뭔가 해보는건 어려울것 같지만 적어도 A는 1~10^5까지 다 돌아볼만하다. X*Y = A가 될려면 당연히 X,Y는 A이하여야한다. 그래서 A를 기준으로 1~A까지 돌아서 그 값을 X라고 둔다면, Y는? A가 X로 나누어 떨어질때, Y = A//X가 된다. 이러한 X,Y를 찾았다면 주어진 W,H에서 찾은 X,Y로 몇번만에 이동할 수 있는지 체크하면 된다.  W에서 X로 갈려면 가장 빠르게 갈려면 몇번만에 갈수 있을까? ..

2024. 10. 25. 20:21

문자열이 특정한 조건을 만족하는 형태로 이루어져있는지 체크하는 방법(정규표현식)

use igoat;CREATE TABLE person ( name VARCHAR(50), email VARCHAR(100));INSERT INTO person (name, email) VALUES('JohnDoe', 'John_Doe123!@example.com'),('Alice456', 'Alice@DoMaincool.com'),('EmmaJones', 'EmmaJones@xyztestsite.org'),('BobSmith', 'BobSmith@Examplexyz.com'),('Charlie9', 'Charl!e9@Tech4life.io'),('Sara2024', 'Sra2024@coool-domain.org'),('Mike007', 'MiKe007@example999.com');select..

절댓값을 풀어내는 필수 테크닉 - 모든 i,j에 대해 (i-j)|ai-bj|의 합을 빠르게 구하는 방법

28867번: Портальная пушка 최대 100000개의 원소를 가지는 배열 A,B에 대하여 $\sum_{i,j}^{}(i-j)|a_{i} - b_{j}|$를 구하는 문제 당연히 $O(N^{2})$은 안될거고 O(N)에는 풀어야하는데 $a_{i} >= b_{j}$이고 $a_{i}  따라서 $(i-j)|a_{i}-b_{j}| = i(a_{i}-b_{j})-j(a_{i}-b_{j})+i(b_{j}-a_{i})-j(b_{j}-a_{i})$ 그래서 ai>=bj인 경우 i(ai-bj)와 j(ai-bj), ai  여기서 핵심은 앞에 붙은 i,j인데 얘를 고정시킨다면 투포인터를 활용해서 O(N)에 계산할 수 있다. 예를 들어 i = 0인 경우 j = 0,1,2,...증가시켜서 ai >= bj인 경우의 j를 ..