這個問題在這里已經有了答案: python 和 matplotlib 中的多點語法 1 個答案 3 小時前關閉。
我正在查看這些屬于視頻字幕專案的 data_loader.py 的 python 代碼行:
fpath = self.C.loader.phase_video_feat_fpath_tpl.format(self.C.corpus, model, self.phase)
.
.
if len(feats) < self.C.loader.frame_max_len:
我是 oop 的新手,這是什么( C ,loader,phase_video_feat_fpath_tpl,...)意思。理解類、功能及其屬性之間關系的最佳方法是什么?data_loader.py 的其余代碼是:
from collections import defaultdict
import h5py
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader, RandomSampler
from torchvision import transforms
from loader.transform import UniformSample
class CustomVocab(object):
def __init__(self, caption_fpath, init_word2idx, min_count=1, transform=str.split):
self.caption_fpath = caption_fpath
self.min_count = min_count
self.transform = transform
self.n_words = self.n_vocabs
self.max_sentence_len = -1
self.build()
class CustomDataset(Dataset):
""" Dataset """
def __init__(self, C, phase, caption_fpath, transform_frame=None, transform_caption=None):
self.C = C
self.phase = phase
self.caption_fpath = caption_fpath
self.transform_frame = transform_frame
self.transform_caption = transform_caption
def load_video_feats(self):
for model in self.C.feat.models:
fpath = self.C.loader.phase_video_feat_fpath_tpl.format(self.C.corpus, model, self.phase)
fin = h5py.File(fpath, 'r')
for vid in fin.keys():
feats = fin[vid].value
# Fix the number of frames for each video
if len(feats) < self.C.loader.frame_max_len:
num_paddings = self.C.loader.frame_max_len - len(feats)
feats = feats.tolist() [ np.zeros_like(feats[0]) for _ in range(num_paddings) ]
feats = np.asarray(feats)
else:
feats = feats[:self.C.loader.frame_max_len]
assert len(feats) == self.C.loader.frame_max_len
uj5u.com熱心網友回復:
在 Python 中,一切都是物件。數字、字串、串列、字典……此外,每個物件都有自己的方法和變數。這些點代表常量或方法。例如,我相信你已經在 python 中看到過類似的東西:
l = [1, 2, 3]
l.append(4)
append是屬于串列類的方法。在您的示例中,
self.C.loader.frame_max_len意味著:從當前實體中使用frame_max_len的變數loader中獲取變數(由 表示)。Cself
對于self.C.loader.phase_video_feat_fpath_tpl.format(self.C.corpus, model, self.phase),它的作業原理相同,但這里format有一個方法——一個屬于該類的函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/527558.html
標籤:Python功能班级
下一篇:R函式裝箱與計數平均值
