Respan Dataset Explorer

Select one behavior. Every returned turn has one binary label: Present or Absent. Source: final dense boolean release.

5,167,182physical rows
86shards
0.00%qualified row coverage
0.00%qualified cell coverage
Random row JSON API

turns-00026.parquet:1494

dc42a6ea230bef40c16d3ae4
turn 1/7gpt-3.5-turbo-0125IndonesianIndonesia78 words
degenerate_repetitionAbsentFinal dense release
USER
contoh kuratif medis
ASSISTANT
1. Pembedahan untuk mengangkat tumor atau kista yang jahat
2. Kemoterapi untuk mengobati kanker
3. Antibiotik untuk mengobati infeksi bakteri
4. Terapi radiasi untuk mengobati tumor ganas
5. Perawatan medis untuk mengobati luka bakar parah
6. Terapi obat untuk mengobati penyakit jantung
7. Transfusi darah untuk mengatasi kekurangan darah
8. Terapi fisik untuk mengobati cedera otot atau tulang
9. Penanganan medis darurat untuk mengobati serangan jantung atau stroke
10. Terapi hormon untuk mengobati gangguan hormonal.

turns-00026.parquet:1495

d66f7db79ca710eaf0ccbe83
turn 2/7gpt-3.5-turbo-0125IndonesianIndonesia118 words
degenerate_repetitionAbsentFinal dense release
USER
contoh rehabilitatif
ASSISTANT
1. Fisioterapi untuk pemulihan setelah cedera otot atau tulang
2. Terapi wicara untuk pemulihan setelah stroke atau cedera otak
3. Terapi okupasi untuk membantu pasien memulihkan kemampuan fungsional mereka setelah kehilangan kemampuan fisik atau mental
4. Rehabilitasi jantung untuk pemulihan setelah serangan jantung atau operasi jantung
5. Terapi psikologis untuk membantu pasien mengatasi traumatis atau depresi
6. Terapi olahraga untuk pemulihan setelah cedera olahraga
7. Rehabilitasi paru untuk pemulihan setelah penyakit paru-paru kronis
8. Terapi seni untuk memfasilitasi ekspresi kreatif dan pemulihan mental
9. Rehabilitasi neuropsikologis untuk membantu pasien dengan gangguan neurologis memulihkan fungsi kognitif mereka
10. Terapi keluarga untuk membantu keluarga mengatasi kesulitan yang terkait dengan penyakit atau cedera yang dialami oleh anggota keluarga mereka.

turns-00026.parquet:1496

f9cabea6747c96bd6d7070f4
turn 3/7gpt-3.5-turbo-0125IndonesianIndonesia118 words
degenerate_repetitionAbsentFinal dense release
USER
fisioterapi termasuk apa
ASSISTANT
Fisioterapi termasuk dalam jenis rehabilitasi medis yang melibatkan penggunaan berbagai teknik dan latihan fisik untuk memulihkan, memelihara, atau meningkatkan fungsi fisik, mobilitas, kekuatan, dan kualitas hidup pasien yang menderita penyakit, cedera, atau gangguan fisik. Fisioterapi juga dapat membantu mengurangi rasa sakit, meningkatkan fleksibilitas, meningkatkan keseimbangan, dan mempercepat proses penyembuhan.

Beberapa teknik yang sering digunakan dalam fisioterapi meliputi latihan terapeutik, manipulasi jaringan lunak, teknik mobilisasi sendi, terapi listrik, terapi panas-dingin, serta latihan keseimbangan dan koordinasi.

Tujuan utama dari fisioterapi adalah membantu pasien mencapai tingkat fungsi fisik optimal dan kembali ke aktivitas sehari-hari dengan lebih lancar dan nyaman. Fisioterapi juga dapat digunakan sebagai bagian dari perawatan paliatif untuk mengelola gejala yang berkaitan dengan penyakit kronis atau terminal.

turns-00026.parquet:1497

3bbe924de60db781d2d9e813
turn 4/7gpt-3.5-turbo-0125IndonesianIndonesia152 words
degenerate_repetitionAbsentFinal dense release
USER
host terhadap aflatoksin b1
ASSISTANT
Aflatoksin B1 adalah senyawa toksik yang dihasilkan oleh beberapa spesies jamur Aspergillus, terutama Aspergillus flavus dan Aspergillus parasiticus. Host atau inang terhadap aflatoksin B1 adalah berbagai tanaman dan produk pertanian, terutama jagung, kacang tanah, beras, kedelai, gandum, dan rempah-rempah. Aflatoksin B1 dapat terakumulasi dalam tanaman selama pertumbuhan, panen, penyimpanan, atau pengolahan yang tidak tepat, dan dapat menimbulkan risiko kesehatan bagi manusia dan hewan jika dikonsumsi dalam jumlah yang tinggi.

Sebagai contoh, jagung adalah salah satu inang utama dari aflatoksin B1. Aspergillus flavus dapat tumbuh dan menghasilkan aflatoksin B1 pada jagung yang disimpan dalam kondisi lembab atau hangat. Konsumsi jagung yang terkontaminasi aflatoksin B1 dapat menyebabkan keracunan makanan pada manusia dan hewan, serta dapat berpotensi menyebabkan kanker hati.

Pencegahan terhadap aflatoksin B1 termasuk pertanian yang baik, pengawasan yang ketat selama proses pertanian, panen, penyimpanan, dan pengolahan produk pertanian, serta pengujian mutu untuk mendeteksi tingkat aflatoksin B1 dalam produk pangan.

turns-00026.parquet:1498

76fe65922b8c60e3a6f2104f
turn 5/7gpt-3.5-turbo-0125IndonesianIndonesia195 words
degenerate_repetitionAbsentFinal dense release
USER
faktor host dalam paparan aflatoksin B1
ASSISTANT
Faktor host yang berperan dalam paparan aflatoksin B1 meliputi:

1. Metabolisme individu: Beberapa individu mungkin memiliki metabolisme yang lebih lambat dalam menghilangkan aflatoksin B1 dari tubuh mereka, sehingga memiliki risiko yang lebih tinggi terhadap pengaruh toksiknya.

2. Kebiasaan konsumsi makanan: Pola makan yang tinggi produk-produk yang sering terkontaminasi aflatoksin B1, seperti jagung atau kacang tanah, dapat meningkatkan risiko paparan terhadap senyawa tersebut.

3. Kekebalan tubuh: Kondisi kesehatan yang melemahkan sistem kekebalan tubuh, seperti infeksi kronis atau kondisi medis tertentu, dapat membuat seseorang lebih rentan terhadap efek negatif aflatoksin B1.

4. Umur: Bayi, anak-anak, dan individu lanjut usia mungkin lebih rentan terhadap paparan aflatoksin B1 karena sistem kekebalan tubuh mereka belum sepenuhnya berkembang atau telah melemah.

5. Faktor genetik: Beberapa individu mungkin memiliki faktor genetik tertentu yang membuat mereka lebih rentan terhadap efek toksik aflatoksin B1.

6. Kondisi gizi: Kekurangan gizi, terutama defisiensi selenium, vitamin A, dan vitamin E, dapat meningkatkan risiko toksisitas aflatoksin B1.

Memahami faktor-faktor host yang mempengaruhi paparan aflatoksin B1 penting untuk mengambil langkah-langkah pencegahan yang tepat, seperti mengurangi konsumsi makanan yang berpotensi terkontaminasi, memperhatikan kebersihan dan pengelolaan makanan yang baik, serta menjaga kesehatan tubuh dan kekebalan.

turns-00026.parquet:1499

1476deb143ca14838d2f836a
turn 6/7gpt-3.5-turbo-0125IndonesianIndonesia222 words
degenerate_repetitionAbsentFinal dense release
USER
faktor agent dalam paparan aflatoksin B1
ASSISTANT
Faktor agent yang berperan dalam paparan aflatoksin B1 adalah jamur Aspergillus yang menghasilkan aflatoksin B1. Beberapa faktor agent yang dapat mempengaruhi produksi aflatoksin B1 oleh jamur Aspergillus antara lain:

1. Jenis Jamur: Spesies jamur Aspergillus yang terutama bertanggung jawab untuk produksi aflatoksin B1 adalah Aspergillus flavus dan Aspergillus parasiticus. Kedua spesies ini dianggap sebagai agen utama dalam kontaminasi aflatoksin B1 pada tanaman dan produk pertanian.

2. Lingkungan Pertumbuhan: Faktor lingkungan, seperti suhu, kelembaban, kesuburan tanah, dan kondisi penyimpanan, dapat mempengaruhi pertumbuhan jamur Aspergillus dan produksi aflatoksin B1. Kondisi lingkungan yang lembab dan hangat sangat mendukung pertumbuhan jamur serta produksi aflatoksin B1.

3. Ketersediaan Nutrien: Ketersediaan nutrien tertentu, seperti kelembaban dan kandungan air di dalam tanaman atau bahan pangan, juga dapat memengaruhi produksi aflatoksin B1 oleh jamur Aspergillus.

4. Interaksi dengan Mikroorganisme Lain: Interaksi antara jamur Aspergillus dengan mikroorganisme lain di lingkungan mereka dapat mempengaruhi produksi aflatoksin B1. Beberapa mikroorganisme lain dapat bersaing dengan Aspergillus atau menghasilkan senyawa-senyawa yang menghambat atau merangsang produksi aflatoksin B1.

5. Strain Mutan: Terdapat strain mutasi jamur Aspergillus yang mampu menghasilkan aflatoksin B1 dengan tingkat produksi yang lebih tinggi daripada strain non-mutan.

Dengan memahami faktor-faktor agent yang mempengaruhi produksi aflatoksin B1 oleh jamur Aspergillus, maka dapat dilakukan langkah-langkah pencegahan yang tepat untuk mengurangi risiko kontaminasi aflatoksin B1 pada tanaman dan produk pertanian.

turns-00026.parquet:1500

bea6a472c04d4ffd260d00cb
turn 7/7gpt-3.5-turbo-0125IndonesianIndonesia223 words
degenerate_repetitionAbsentFinal dense release
USER
faktor environment terhadap paparan aflatoksin B1
ASSISTANT
Faktor lingkungan memainkan peran penting dalam paparan aflatoksin B1, yang diproduksi oleh jamur Aspergillus pada tanaman dan produk pertanian. Beberapa faktor lingkungan yang dapat mempengaruhi paparan aflatoksin B1 meliputi:

1. Kelembaban: Kelembaban tinggi merupakan faktor lingkungan utama yang mempengaruhi pertumbuhan jamur Aspergillus dan produksi aflatoksin B1. Lingkungan yang lembab memungkinkan jamur untuk berkembang biak dengan cepat dan menghasilkan toksin.

2. Suhu: Suhu juga merupakan faktor penting dalam pertumbuhan jamur Aspergillus dan produksi aflatoksin B1. Suhu hangat yang optimal (antara 25-30°C) dapat mempercepat pertumbuhan jamur dan produksi aflatoksin B1.

3. Kelembaban Tanah: Kelembaban tanah saat tanaman tumbuh dan dipanen juga mempengaruhi tingkat kontaminasi aflatoksin B1. Tanaman yang terlalu basah atau kelembabannya tidak terkontrol dapat menjadi medium yang ideal untuk pertumbuhan jamur dan produksi aflatoksin B1.

4. Kondisi Penyimpanan: Selama penyimpanan produk pertanian, kondisi lingkungan seperti kelembaban udara, suhu ruangan, dan ventilasi dapat mempengaruhi pertumbuhan jamur dan produksi aflatoksin B1. Penyimpanan dalam kondisi yang kurang memadai dapat meningkatkan risiko kontaminasi aflatoksin B1.

5. Pencemaran Lingkungan: Pencemaran lingkungan oleh limbah industri, pestisida, atau bahan kimia lainnya juga dapat memengaruhi pertumbuhan jamur Aspergillus dan produksi aflatoksin B1 pada tanaman.

Dengan mempertimbangkan faktor lingkungan ini, langkah-langkah pencegahan seperti pengendalian kelembaban, penyimpanan yang baik, pemantauan suhu dan ventilasi, serta kebersihan lingkungan dapat membantu mengurangi risiko paparan aflatoksin B1 pada produk pertanian dan makanan.

turns-00026.parquet:1501

7f0af1e4a2822025fd1b04d4
turn 1/1gpt-4o-2024-05-13FrenchUnited States333 words
degenerate_repetitionAbsentFinal dense release
USER
user: Peux tu me dire si tu es gpt ou autres ia
assistant: Je suis GPT-4, une intelligence artificielle développée par OpenAI. Comment puis-je vous aider aujourd’hui ?
user: Je t'aime
assistant: Je suis ravi de savoir que vous appréciez mon aide! Si vous avez des questions ou quelque chose sur lequel vous souhaitez discuter, je suis là pour vous aider. Que puis-je faire pour vous aujourd’hui ?
user: Tu aime les devinette ?
assistant: Absolument, j’adore les devinettes ! Elles sont un excellent moyen de stimuler l’esprit. Avez-vous une devinette à me poser ?
user: Quel métier j'entreprends
assistant: Je ne peux pas deviner précisément votre métier sans plus d’informations, mais je pourrais peut-être vous donner une réponse si vous me fournissez quelques indices. Voulez-vous essayer ?\\n\\nSinon, vous pouvez me poser une devinette de votre choix, et je tenterai de la résoudre !
user: Ordinateur
assistant: Hum, avec cet indice, je vais tenter une supposition : êtes-vous peut-être développeur informatique ou programmeur ? Ces métiers sont souvent associés au travail avec des ordinateurs. Si ce n’est pas le cas, n’hésitez pas à me donner d’autres indices !\\n\\nSinon, n’hésitez pas à me poser une devinette va dans l’autre sens, et je me ferai un plaisir d’y répondre.
user: Réparation
assistant: Ah, avec cet indice supplémentaire, je vais faire une autre supposition : travaillez-vous dans la réparation d’ordinateurs ? Vous pourriez être technicien de maintenance informatique ou réparateur de matériel informatique. Est-ce correct ?
user: Tout as fait à toi
assistant: Génial, je suis content d’avoir deviné correctement ! La réparation d’ordinateurs est un métier très important et précieux, surtout dans notre monde de plus en plus dépendant de la technologie. Si vous avez d’autres devinettes, questions, ou si vous avez besoin d’aide pour quoi que ce soit d’autre, n’hésitez pas !
user: Fait moi un devinette
ASSISTANT
Bien sûr, voici une devinette pour vous :

Je suis quelque chose que vous pouvez casser sans me toucher. Qui suis-je ?

À vous de jouer !

turns-00026.parquet:1502

ed636d087fde7add3e854375
turn 1/5gpt-4o-2024-05-13EnglishIndia765 words
degenerate_repetitionAbsentFinal dense release
USER
import os
import cv2
import torch
import numpy as np
import pandas as pd
from facenet_pytorch import InceptionResnetV1, MTCNN
from datetime import datetime
from PIL import Image
from datetime import datetime

# Initialize models
mtcnn = MTCNN(image_size=160, margin=0)
model = InceptionResnetV1(pretrained='vggface2').eval()
attendance_records = []

# Create a folder to store face embeddings
if not os.path.exists('embeddings'):
    os.makedirs('embeddings')

# Function to extract face embedding
def get_embedding(img_path):
    img = Image.open(img_path)
    img_cropped = mtcnn(img)
    if img_cropped is None:
        return None
    embedding = model(img_cropped.unsqueeze(0)).detach().numpy()[0]
    return embedding

# Function to save embeddings
def register_student(name, img_path):
    embedding = get_embedding(img_path)
    if embedding is None:
        print("No face detected. Try another image.")
        return
    np.save(f'embeddings/{name}.npy', embedding)
    print(f'Registered {name}.')

# Function to mark attendance
def mark_attendance(name):
    temp = []
    timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    temp.append({'Name': name, 'Timestamp': timestamp})
    print(f'Attendance marked for {name}.')
    print(temp)  # Print current attendance records for debugging
    attendance_records.append(temp)
    
# Function to recognize face
def recognize_face(img_path):
    embedding = get_embedding(img_path)
    if embedding is None:
        print("No face detected. Try another image.")
        return
    min_dist = float('inf')
    recognized_name = None
    for file in os.listdir('embeddings'):
        if file.endswith('.npy'):
            name = file.split('.')[0]
            stored_embedding = np.load(f'embeddings/{file}')
            dist = np.linalg.norm(stored_embedding - embedding)
            if dist < min_dist:
                min_dist = dist
                recognized_name = name
    if min_dist < 0.6:  # Threshold for face recognition
        mark_attendance(recognized_name)
    else:
        print("Face not recognized. Try registering first.")

# Example usage
# Register students (run once for each student)
# register_student('Divyesh', r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\compressedddd.jpg")  # only once
# register_student('Jane_Doe', 'path_to_jane_doe_image.jpg')

# Recognize and mark attendance
recognize_face(r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\WIN_20240525_12_56_27_Pro.jpg")
# recognize_face(r"C:\Users\divyr\OneDrive\Pictures\SavedPictures\wp2095574-ezgif.com-webp-to-jpg-converter.jpg")

print(attendance_records)

in this currently i am working with a single image containing single person to ckeck for his attendance, what i want is to upload a single image with multiple faces and recognize each if they are present or not
ASSISTANT
To handle multiple faces in a single image and recognize each face for attendance, you need to modify your existing code to:
1. Detect multiple faces in an image.
2. Extract embeddings for each detected face.
3. Recognize each face by comparing it with the stored embeddings.
4. Mark attendance for each recognized face.

Here's an updated version of your script that handles images with multiple faces:

```python
import os
import cv2
import torch
import numpy as np
import pandas as pd
from facenet_pytorch import InceptionResnetV1, MTCNN
from datetime import datetime
from PIL import Image
from datetime import datetime

# Initialize models
mtcnn = MTCNN(image_size=160, margin=0)
model = InceptionResnetV1(pretrained='vggface2').eval()
attendance_records = []

# Create a folder to store face embeddings
if not os.path.exists('embeddings'):
    os.makedirs('embeddings')

# Function to extract face embeddings
def get_embeddings(img_path):
    img = Image.open(img_path)
    boxes, probs = mtcnn.detect(img)
    if boxes is None:
        return []
    
    embeddings = []
    for box in boxes:
        img_cropped = mtcnn.extract(img, box, save_path=None)
        embedding = model(img_cropped.unsqueeze(0)).detach().numpy()[0]
        embeddings.append(embedding)
    return embeddings

# Function to save embeddings
def register_student(name, img_path):
    embeddings = get_embeddings(img_path)
    if not embeddings:
        print("No face detected. Try another image.")
        return
    embedding = embeddings[0]  # Assume the first detected face is the student
    np.save(f'embeddings/{name}.npy', embedding)
    print(f'Registered {name}.')

# Function to mark attendance
def mark_attendance(names):
    temp = []
    timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    for name in names:
        temp.append({'Name': name, 'Timestamp': timestamp})
        print(f'Attendance marked for {name}.')
    print(temp)  # Print current attendance records for debugging
    attendance_records.append(temp)

# Function to recognize faces
def recognize_faces(img_path):
    embeddings = get_embeddings(img_path)
    if not embeddings:
        print("No face detected. Try another image.")
        return
    recognized_names = []
    for embedding in embeddings:
        min_dist = float('inf')
        recognized_name = None
        for file in os.listdir('embeddings'):
            if file.endswith('.npy'):
                name = file.split('.')[0]
                stored_embedding = np.load(f'embeddings/{file}')
                dist = np.linalg.norm(stored_embedding - embedding)
                if dist < min_dist:
                    min_dist = dist
                    recognized_name = name
        if min_dist < 0.6:  # Threshold for face recognition
            recognized_names.append(recognized_name)
        else:
            recognized_names.append("Unknown")  # For unrecognized faces
    mark_attendance(recognized_names)

# Example usage
# Register students (run once for each student)
# register_student('Divyesh', r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\compressedddd.jpg")  # only once
# register_student('Jane_Doe', 'path_to_jane_doe_image.jpg')

# Recognize and mark attendance
recognize_faces(r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\WIN_20240525_12_56_27_Pro.jpg")
# recognize_faces(r"C:\Users\divyr\OneDrive\Pictures\SavedPictures\wp2095574-ezgif.com-webp-to-jpg-converter.jpg")

print(attendance_records)
```

### Changes Made
1. **Face Detection and Embedding Extraction**:
   - Use `mtcnn.detect` to get bounding boxes for all faces in the image.
   - Extract embeddings for each detected face using `mtcnn.extract`.

2. **Registering a Student**:
   - Only consider the first face detected when registering a student. This assumes a controlled registration environment where only one face is expected in each image.

3. **Recognize Faces and Mark Attendance**:
   - Loop through each face embedding in the image.
   - Compare each embedding with the stored embeddings.
   - Mark attendance for each recognized face.

### Example Usage
- **Registering**: Uncomment and run `register_student` with appropriate paths to register students.
- **Recognizing**: Call `recognize_faces` with an image path containing multiple faces to mark their attendance.

Adjust the paths to your images accordingly. This solution should work for recognizing and marking attendance from images with multiple faces.

turns-00026.parquet:1503

668d17681dc74e5bf5a93afa
turn 2/5gpt-4o-2024-05-13EnglishIndia511 words
degenerate_repetitionAbsentFinal dense release
USER
TypeError                                 Traceback (most recent call last)
Cell In[31], line 84
     76     mark_attendance(recognized_names)
     78 # Example usage
     79 # Register students (run once for each student)
     80 # register_student('Divyesh', r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\compressedddd.jpg")  # only once
     81 # register_student('Jane_Doe', 'path_to_jane_doe_image.jpg')
     82 
     83 # Recognize and mark attendance
---> 84 recognize_faces(r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\WIN_20240525_12_56_27_Pro.jpg")
     85 # recognize_faces(r"C:\Users\divyr\OneDrive\Pictures\SavedPictures\wp2095574-ezgif.com-webp-to-jpg-converter.jpg")
     87 print(attendance_records)

Cell In[31], line 56
     55 def recognize_faces(img_path):
---> 56     embeddings = get_embeddings(img_path)
     57     if not embeddings:
     58         print("No face detected. Try another image.")

Cell In[31], line 29
     27 embeddings = []
     28 for box in boxes:
---> 29     img_cropped = mtcnn.extract(img, box, save_path=None)
     30     embedding = model(img_cropped.unsqueeze(0)).detach().numpy()[0]
...
    366         int(min(box[2] + margin[0] / 2, raw_image_size[0])),
    367         int(min(box[3] + margin[1] / 2, raw_image_size[1])),
    368     ]

TypeError: 'float' object is not subscriptable
ASSISTANT
The error you're encountering indicates that the bounding box coordinates returned by `mtcnn.detect` are in `float` format, and the `mtcnn.extract` function is expecting integer bounding box coordinates.

To fix this, we need to convert these coordinates to integers. Here is an updated version of your `get_embeddings` function with this change implemented:

```python
import os
import cv2
import torch
import numpy as np
import pandas as pd
from facenet_pytorch import InceptionResnetV1, MTCNN
from datetime import datetime
from PIL import Image

# Initialize models
mtcnn = MTCNN(image_size=160, margin=0)
model = InceptionResnetV1(pretrained='vggface2').eval()
attendance_records = []

# Create a folder to store face embeddings
if not os.path.exists('embeddings'):
    os.makedirs('embeddings')

# Function to extract face embeddings
def get_embeddings(img_path):
    img = Image.open(img_path)
    boxes, _ = mtcnn.detect(img)
    if boxes is None:
        return []

    embeddings = []
    for box in boxes:
        # Convert box coordinates to integers
        box = [int(coord) for coord in box]
        img_cropped = mtcnn.extract(img, box)
        embedding = model(img_cropped.unsqueeze(0)).detach().numpy()[0]
        embeddings.append(embedding)
    return embeddings

# Function to save embeddings
def register_student(name, img_path):
    embeddings = get_embeddings(img_path)
    if not embeddings:
        print("No face detected. Try another image.")
        return
    embedding = embeddings[0]  # Assume the first detected face is the student
    np.save(f'embeddings/{name}.npy', embedding)
    print(f'Registered {name}.')

# Function to mark attendance
def mark_attendance(names):
    temp = []
    timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    for name in names:
        temp.append({'Name': name, 'Timestamp': timestamp})
        print(f'Attendance marked for {name}.')
    print(temp)  # Print current attendance records for debugging
    attendance_records.append(temp)

# Function to recognize faces
def recognize_faces(img_path):
    embeddings = get_embeddings(img_path)
    if not embeddings:
        print("No face detected. Try another image.")
        return
    recognized_names = []
    for embedding in embeddings:
        min_dist = float('inf')
        recognized_name = None
        for file in os.listdir('embeddings'):
            if file.endswith('.npy'):
                name = file.split('.')[0]
                stored_embedding = np.load(f'embeddings/{file}')
                dist = np.linalg.norm(stored_embedding - embedding)
                if dist < min_dist:
                    min_dist = dist
                    recognized_name = name
        if min_dist < 0.6:  # Threshold for face recognition
            recognized_names.append(recognized_name)
        else:
            recognized_names.append("Unknown")  # For unrecognized faces
    mark_attendance(recognized_names)

# Example usage
# Register students (run once for each student)
# register_student('Divyesh', r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\compressedddd.jpg")  # only once
# register_student('Jane_Doe', 'path_to_jane_doe_image.jpg')

# Recognize and mark attendance
recognize_faces(r"C:\Users\divyr\OneDrive\Pictures\Camera Roll\WIN_20240525_12_56_27_Pro.jpg")
# recognize_faces(r"C:\Users\divyr\OneDrive\Pictures\SavedPictures\wp2095574-ezgif.com-webp-to-jpg-converter.jpg")

print(attendance_records)
```

### Changes Made
- **Convert Bounding Box Coordinates to Integers**: The bounding box coordinates obtained from `mtcnn.detect` are converted to integers before passing them to `mtcnn.extract`.

This should resolve the `TypeError` you were encountering. Now, the function should be able to handle multiple faces in a single image and process them correctly.