MARI-posa commited on
Commit
7d10355
1 Parent(s): feb52ca

Update stri.py

Browse files
Files changed (1) hide show
  1. stri.py +11 -38
stri.py CHANGED
@@ -19,23 +19,6 @@ model = AutoModel.from_pretrained(model_name, output_hidden_states=True)
19
  # Загрузка датасета и аннотаций к книгам
20
  books = pd.read_csv('all+++.csv')
21
  books['author'].fillna('other', inplace=True)
22
- #books.dropna(inplace=True)
23
-
24
- #books = books[books['annotation'].apply(lambda x: len(x.split()) >= 40)]
25
- #books.drop_duplicates(subset='title', keep='first', inplace=True)
26
- #books = books.reset_index(drop=True)
27
-
28
-
29
- #def data_preprocessing(text: str) -> str:
30
- #text = re.sub(r'http\S+', " ", text) # удаляем ссылки
31
- #text = re.sub(r'@\w+', ' ', text) # удаляем упоминания пользователей
32
- #text = re.sub(r'#\w+', ' ', text) # удаляем хэштеги
33
- #text = re.sub(r'<.*?>', ' ', text) # html tags
34
- # return text
35
-
36
-
37
- #for i in ['author', 'title', 'annotation']:
38
- #books[i] = books[i].apply(data_preprocessing)
39
 
40
  annot = books['annotation']
41
 
@@ -49,29 +32,19 @@ if st.button('Сгенерировать'):
49
  with open("book_embeddings256xxx.pkl", "rb") as f:
50
  book_embeddings = pickle.load(f)
51
 
52
- #book_embeddings = torch.tensor(book_embeddings, device=torch.device('cpu'))
53
-
54
-
55
- #if st.button('Сгенерировать'):
56
- #with open("book_embeddingsN.pkl", "rb") as f:
57
- #book_embeddings = torch.load("book_embeddingsN.pkl", map_location=torch.device('cpu'))
58
- #
59
- #book_embeddings = pickle.load(f)
60
-
61
  query_tokens = tokenizer.encode_plus(
62
- query,
63
- add_special_tokens=True,
64
- max_length=length, # Ограничение на максимальную длину входной последовательности
65
- pad_to_max_length=True, # Дополним последовательность нулями до максимальной длины
66
- return_tensors='pt' # Вернём тензоры PyTorch
67
- )
68
 
69
  with torch.no_grad():
70
- query_outputs = model(**query_tokens)
71
- query_hidden_states = query_outputs.hidden_states[-1][:,0,:]
72
- query_hidden_states = torch.nn.functional.normalize(query_hidden_states)
73
 
74
-
75
  # Вычисление косинусного расстояния между эмбеддингом запроса и каждой аннотацией
76
  cosine_similarities = torch.nn.functional.cosine_similarity(
77
  query_hidden_states.squeeze(0),
@@ -82,7 +55,7 @@ if st.button('Сгенерировать'):
82
 
83
  indices = np.argsort(cosine_similarities)[::-1] # Сортировка по убыванию
84
 
85
- num_books_per_page = st.selectbox("Количество книг на странице:", [3, 5, 10], index=0)
86
 
87
  for i in indices[:num_books_per_page]:
88
  cols = st.columns(2) # Создание двух столбцов для размещения информации и изображения
@@ -94,4 +67,4 @@ if st.button('Сгенерировать'):
94
  image = Image.open(BytesIO(response.content))
95
  cols[0].image(image)
96
  cols[0].write(cosine_similarities[i])
97
- cols[1].write("---")
 
19
  # Загрузка датасета и аннотаций к книгам
20
  books = pd.read_csv('all+++.csv')
21
  books['author'].fillna('other', inplace=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  annot = books['annotation']
24
 
 
32
  with open("book_embeddings256xxx.pkl", "rb") as f:
33
  book_embeddings = pickle.load(f)
34
 
 
 
 
 
 
 
 
 
 
35
  query_tokens = tokenizer.encode_plus(
36
+ query,
37
+ add_special_tokens=True,
38
+ max_length=length, # Ограничение на максимальную длину входной последовательности
39
+ pad_to_max_length=True, # Дополним последовательность нулями до максимальной длины
40
+ return_tensors='pt' # Вернём тензоры PyTorch
41
+ )
42
 
43
  with torch.no_grad():
44
+ query_outputs = model(**query_tokens)
45
+ query_hidden_states = query_outputs.hidden_states[-1][:, 0, :]
46
+ query_hidden_states = torch.nn.functional.normalize(query_hidden_states)
47
 
 
48
  # Вычисление косинусного расстояния между эмбеддингом запроса и каждой аннотацией
49
  cosine_similarities = torch.nn.functional.cosine_similarity(
50
  query_hidden_states.squeeze(0),
 
55
 
56
  indices = np.argsort(cosine_similarities)[::-1] # Сортировка по убыванию
57
 
58
+ num_books_per_page = st.sidebar.selectbox("Количество книг на странице:", [3, 5, 10], index=0)
59
 
60
  for i in indices[:num_books_per_page]:
61
  cols = st.columns(2) # Создание двух столбцов для размещения информации и изображения
 
67
  image = Image.open(BytesIO(response.content))
68
  cols[0].image(image)
69
  cols[0].write(cosine_similarities[i])
70
+ cols[1].write("---")