Als ich Python mit YOLOv3-Code studierte, wollte ich es als Memo aufzeichnen. Wir werden jeden Inhalt aktualisieren, sobald er verfügbar ist.
Diesmal ist der Textinhalt für mehrere Zeilen und für eine Zeile.
coco_classes.txt
person
bicycle
car
motorbike
aeroplane
readlines_.py
import os
classes_path = 'model_data/coco_classes.txt'
#Wechseln Sie in das Ausgangsverzeichnis
classes_path = os.path.expanduser(classes_path)
with open(classes_path) as f:
#Machen Sie Text in eine Liste als Zeichenfolge + Zeilenumbruch
class_names = f.readlines()
#Setzen Sie den Wert der n-ten Zeile in den Text in c und entfernen Sie den Zeilenumbruch
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'
#Wechseln Sie in das Ausgangsverzeichnis
anchors_path= os.path.expanduser(classes_path)
with open(anchors_path) as f:
#Machen Sie Text in eine Liste als Zeichenfolge + Zeilenumbruch
anchors_path= f.readline()
#Im Text','Setzen Sie den n-ten Wert des durch in x getrennten Werts und ändern Sie ihn in den Typ float
for x in anchors.split(','):
x = float(x)
print(x)
#Begleitung des obigen Prozesses
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)#In zwei Koordinatenspalten anordnen,-1 wird als Korrektur behandelt
print(anchors_path)
"""
[[ 10. 14.]
[ 23. 27.]
[ 37. 58.]
[ 81. 82.]
[135. 169.]
[344. 319.]]
"""
Die Code-Entschlüsselung wird (vielleicht) studiert.
Recommended Posts