Quand j'ai étudié Python avec du code YOLOv3, je voulais l'enregistrer sous forme de mémo. Nous mettrons à jour chaque contenu dès qu'il sera disponible.
Cette fois, le contenu du texte est pour plusieurs lignes et pour une ligne.
coco_classes.txt
person
bicycle
car
motorbike
aeroplane
readlines_.py
import os
classes_path = 'model_data/coco_classes.txt'
#Passer au répertoire personnel
classes_path = os.path.expanduser(classes_path)
with open(classes_path) as f:
#Transformez le texte en une liste sous forme de chaîne de caractères + saut de ligne
class_names = f.readlines()
#Mettez la valeur de la nième ligne dans le texte en c et supprimez le saut de ligne
for c in class_names:
c = c.strip()
print(c)
tiny_yolo_anchors.txt
10,14, 23,27, 37,58, 81,82, 135,169, 344,319
readline_.py
import os
anchors_path= 'model_data/tiny_yolo_anchors.txt'
#Passer au répertoire personnel
anchors_path= os.path.expanduser(classes_path)
with open(anchors_path) as f:
#Transformez le texte en une liste sous forme de chaîne de caractères + saut de ligne
anchors_path= f.readline()
#Dans le texte','Mettez la nième valeur de la valeur séparée par avec dans x et changez-la en type float
for x in anchors.split(','):
x = float(x)
print(x)
#Accompagner le processus ci-dessus
anchors = [float(x) for x in anchors.split(',')]
play_with_anchors_value.py
import os
import numpy as np
anchors_path= 'model_data/tiny_yolo_anchors.txt'
with open(anchors_path) as f:
anchors_path= f.readline()
print(anchors_path)
#10,14, 23,27, 37,58, 81,82, 135,169, 344,319
anchors = [float(x) for x in anchors.split(',')]
print(anchors_path)
#[10.0, 14.0, 23.0, 27.0, 37.0, 58.0, 81.0, 82.0, 135.0, 169.0, 344.0, 319.0]
anchors = np.array(anchors).reshape(-1, 2)#Disposer en deux colonnes de coordonnées,-1 est traité comme une correction
print(anchors_path)
"""
[[ 10. 14.]
[ 23. 27.]
[ 37. 58.]
[ 81. 82.]
[135. 169.]
[344. 319.]]
"""
Le décryptage du code est (peut-être) étudiant.
Recommended Posts