Transformer - 特征预处理

Transformer - 特征预处理

flyfish
在这里插入图片描述
原始数据

train_data.values 
[[ 5.827  2.009  1.599  0.462  4.203  1.34  30.531][ 5.76   2.076  1.492  0.426  4.264  1.401 30.46 ][ 5.76   1.942  1.492  0.391  4.234  1.31  30.038][ 5.76   1.942  1.492  0.426  4.234  1.31  27.013][ 5.693  2.076  1.492  0.426  4.142  1.371 27.787][ 5.492  1.942  1.457  0.391  4.112  1.279 27.717][ 5.358  1.875  1.35   0.355  3.929  1.34  27.646][ 5.157  1.808  1.35   0.32   3.807  1.279 27.084][ 5.157  1.741  1.279  0.355  3.777  1.218 27.787][ 5.157  1.808  1.35   0.426  3.777  1.188 27.506][ 5.157  1.808  1.315  0.391  3.777  1.249 27.857][ 5.157  1.942  1.35   0.426  3.807  1.279 27.013][ 5.09   1.942  1.279  0.391  3.807  1.279 25.044][ 5.224  2.009  1.457  0.533  3.807  1.249 24.551][ 5.291  1.808  1.457  0.426  3.777  1.218 23.566][ 5.358  1.942  1.492  0.462  3.807  1.31  21.526][ 5.358  1.942  1.492  0.462  3.868  1.279 21.948][ 5.492  2.009  1.492  0.462  3.929  1.34  21.456][ 5.492  1.942  1.492  0.426  3.929  1.34  22.792][ 5.492  2.076  1.492  0.497  3.99   1.31  21.034][ 5.626  2.143  1.528  0.533  4.051  1.371 21.174][ 5.961  2.344  1.67   0.604  4.234  1.492 20.823][ 6.162  2.411  1.777  0.604  4.325  1.523 21.174][ 6.631  2.478  1.99   0.746  4.66   1.675 21.174][ 7.167  2.947  2.132  0.782  5.026  1.858 22.792][ 7.502  3.215  2.239  0.888  5.33   1.98  23.848][ 7.703  3.349  2.487  1.031  5.269  1.919 24.34 ]......

通过sklearn的fit和transform将数据规范化

train_data = df_data[border1s[0]:border2s[0]]
self.scaler.fit(train_data.values)
data = self.scaler.transform(df_data.values)

规划化后的数据就是将要训练的数据

transform_data [[ 0.6156 -1.3896 -0.991  ...  1.1402 -0.9535  2.907 ][ 0.5294 -1.2429 -1.2435 ...  1.2172 -0.6099  2.8853][ 0.5294 -1.5362 -1.2435 ...  1.1794 -1.1224  2.7561]...[ 5.6959  5.6479 11.0826 ... -0.82    0.933   1.5291][ 7.1602  6.0879 13.2628 ... -0.897   1.1076  1.5077][ 6.8156  5.3546 14.3529 ... -0.82    1.2765  1.5508]]

可以通过inverse_transform将数据还原

def inverse_transform(self, data):return self.scaler.inverse_transform(data)
inverse_transform_data: [[ 5.827  2.009  1.599 ...  4.203  1.34  30.531][ 5.76   2.076  1.492 ...  4.264  1.401 30.46 ][ 5.76   1.942  1.492 ...  4.234  1.31  30.038]...[ 9.779  5.224  6.716 ...  2.65   1.675 26.028][10.918  5.425  7.64  ...  2.589  1.706 25.958][10.65   5.09   8.102 ...  2.65   1.736 26.099]]......

配置

seq_len:24
label_len:12
pred_len:24
set_type:0
features:M
target:OT
scale:True
timeenc:1
freq:h
root_path:./dataset/ETT-small/
data_path:ETTm1.csv
scaler:StandardScaler()

data_x是训练数据

data_x:[[ 6.1557e-01 -1.3896e+00 -9.9100e-01 -1.3248e+00  1.1402e+00 -9.5346e-012.9070e+00][ 5.2944e-01 -1.2429e+00 -1.2435e+00 -1.4268e+00  1.2172e+00 -6.0995e-012.8853e+00][ 5.2944e-01 -1.5362e+00 -1.2435e+00 -1.5260e+00  1.1794e+00 -1.1224e+002.7561e+00][ 5.2944e-01 -1.5362e+00 -1.2435e+00 -1.4268e+00  1.1794e+00 -1.1224e+001.8305e+00][ 4.4331e-01 -1.2429e+00 -1.2435e+00 -1.4268e+00  1.0633e+00 -7.7889e-012.0673e+00][ 1.8492e-01 -1.5362e+00 -1.3260e+00 -1.5260e+00  1.0254e+00 -1.2970e+002.0459e+00][ 1.2660e-02 -1.6829e+00 -1.5785e+00 -1.6280e+00  7.9439e-01 -9.5346e-012.0242e+00]

时间数据的编码
具体看这里
原值

df_stamp['date'].values: ['2016-07-01T00:00:00.000000000' '2016-07-01T00:15:00.000000000''2016-07-01T00:30:00.000000000' '2016-07-01T00:45:00.000000000''2016-07-01T01:00:00.000000000' '2016-07-01T01:15:00.000000000''2016-07-01T01:30:00.000000000' '2016-07-01T01:45:00.000000000''2016-07-01T02:00:00.000000000' '2016-07-01T02:15:00.000000000''2016-07-01T02:30:00.000000000' '2016-07-01T02:45:00.000000000''2016-07-01T03:00:00.000000000' '2016-07-01T03:15:00.000000000''2016-07-01T03:30:00.000000000' '2016-07-01T03:45:00.000000000''2016-07-01T04:00:00.000000000' '2016-07-01T04:15:00.000000000''2016-07-01T04:30:00.000000000' '2016-07-01T04:45:00.000000000''2016-07-01T05:00:00.000000000' '2016-07-01T05:15:00.000000000'......

编码之后

data_stamp: [[-0.5     0.1667 -0.5    -0.0014][-0.5     0.1667 -0.5    -0.0014][-0.5     0.1667 -0.5    -0.0014][-0.5     0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014]
s_begin: 0
s_end: 24
r_begin: 12
r_end: 48s_begin: 1
s_end: 25
r_begin: 13
r_end: 49......
seq_x: [[ 6.1557e-01 -1.3896e+00 -9.9100e-01 -1.3248e+00  1.1402e+00 -9.5346e-012.9070e+00][ 5.2944e-01 -1.2429e+00 -1.2435e+00 -1.4268e+00  1.2172e+00 -6.0995e-012.8853e+00][ 5.2944e-01 -1.5362e+00 -1.2435e+00 -1.5260e+00  1.1794e+00 -1.1224e+002.7561e+00][ 5.2944e-01 -1.5362e+00 -1.2435e+00 -1.4268e+00  1.1794e+00 -1.1224e+001.8305e+00][ 4.4331e-01 -1.2429e+00 -1.2435e+00 -1.4268e+00  1.0633e+00 -7.7889e-012.0673e+00][ 1.8492e-01 -1.5362e+00 -1.3260e+00 -1.5260e+00  1.0254e+00 -1.2970e+002.0459e+00][ 1.2660e-02 -1.6829e+00 -1.5785e+00 -1.6280e+00  7.9439e-01 -9.5346e-012.0242e+00][-2.4573e-01 -1.8295e+00 -1.5785e+00 -1.7271e+00  6.4040e-01 -1.2970e+001.8522e+00][-2.4573e-01 -1.9762e+00 -1.7460e+00 -1.6280e+00  6.0253e-01 -1.6405e+002.0673e+00][-2.4573e-01 -1.8295e+00 -1.5785e+00 -1.4268e+00  6.0253e-01 -1.8094e+001.9814e+00][-2.4573e-01 -1.8295e+00 -1.6611e+00 -1.5260e+00  6.0253e-01 -1.4659e+002.0888e+00][-2.4573e-01 -1.5362e+00 -1.5785e+00 -1.4268e+00  6.4040e-01 -1.2970e+001.8305e+00][-3.3186e-01 -1.5362e+00 -1.7460e+00 -1.5260e+00  6.4040e-01 -1.2970e+001.2280e+00][-1.5960e-01 -1.3896e+00 -1.3260e+00 -1.1237e+00  6.4040e-01 -1.4659e+001.0771e+00][-7.3470e-02 -1.8295e+00 -1.3260e+00 -1.4268e+00  6.0253e-01 -1.6405e+007.7573e-01][ 1.2660e-02 -1.5362e+00 -1.2435e+00 -1.3248e+00  6.4040e-01 -1.1224e+001.5150e-01][ 1.2660e-02 -1.5362e+00 -1.2435e+00 -1.3248e+00  7.1740e-01 -1.2970e+002.8063e-01][ 1.8492e-01 -1.3896e+00 -1.2435e+00 -1.3248e+00  7.9439e-01 -9.5346e-011.3008e-01][ 1.8492e-01 -1.5362e+00 -1.2435e+00 -1.4268e+00  7.9439e-01 -9.5346e-015.3889e-01][ 1.8492e-01 -1.2429e+00 -1.2435e+00 -1.2257e+00  8.7139e-01 -1.1224e+009.5210e-04][ 3.5718e-01 -1.0962e+00 -1.1585e+00 -1.1237e+00  9.4839e-01 -7.7889e-014.3791e-02][ 7.8783e-01 -6.5627e-01 -8.2347e-01 -9.2254e-01  1.1794e+00 -9.7496e-02-6.3613e-02][ 1.0462e+00 -5.0961e-01 -5.7100e-01 -9.2254e-01  1.2942e+00  7.7075e-024.3791e-02][ 1.6491e+00 -3.6295e-01 -6.8426e-02 -5.2023e-01  1.7171e+00  9.3304e-014.3791e-02]]
seq_y: [[-3.3186e-01 -1.5362e+00 -1.7460e+00 -1.5260e+00  6.4040e-01 -1.2970e+001.2280e+00]
[-1.5960e-01 -1.3896e+00 -1.3260e+00 -1.1237e+00  6.4040e-01 -1.4659e+001.0771e+00]
[-7.3470e-02 -1.8295e+00 -1.3260e+00 -1.4268e+00  6.0253e-01 -1.6405e+007.7573e-01]
[ 1.2660e-02 -1.5362e+00 -1.2435e+00 -1.3248e+00  6.4040e-01 -1.1224e+001.5150e-01]
[ 1.2660e-02 -1.5362e+00 -1.2435e+00 -1.3248e+00  7.1740e-01 -1.2970e+002.8063e-01]
[ 1.8492e-01 -1.3896e+00 -1.2435e+00 -1.3248e+00  7.9439e-01 -9.5346e-011.3008e-01]
[ 1.8492e-01 -1.5362e+00 -1.2435e+00 -1.4268e+00  7.9439e-01 -9.5346e-015.3889e-01]
[ 1.8492e-01 -1.2429e+00 -1.2435e+00 -1.2257e+00  8.7139e-01 -1.1224e+009.5210e-04]
[ 3.5718e-01 -1.0962e+00 -1.1585e+00 -1.1237e+00  9.4839e-01 -7.7889e-014.3791e-02]
[ 7.8783e-01 -6.5627e-01 -8.2347e-01 -9.2254e-01  1.1794e+00 -9.7496e-02-6.3613e-02]
[ 1.0462e+00 -5.0961e-01 -5.7100e-01 -9.2254e-01  1.2942e+00  7.7075e-024.3791e-02]
[ 1.6491e+00 -3.6295e-01 -6.8426e-02 -5.2023e-01  1.7171e+00  9.3304e-014.3791e-02]
[ 2.3382e+00  6.6367e-01  2.6662e-01 -4.1824e-01  2.1791e+00  1.9636e+005.3889e-01]
[ 2.7688e+00  1.2503e+00  5.1909e-01 -1.1793e-01  2.5628e+00  2.6506e+008.6202e-01]
[ 3.0272e+00  1.5436e+00  1.1043e+00  2.8720e-01  2.4858e+00  2.3071e+001.0126e+00]
[ 2.6827e+00  1.1037e+00  6.8662e-01  8.3219e-02  2.2169e+00  2.1325e+006.4660e-01]
[ 2.6827e+00  1.3970e+00  6.8662e-01  2.8720e-01  2.2561e+00  4.0246e+006.4660e-01]
[ 2.9411e+00  1.3970e+00  6.0168e-01  3.8636e-01  2.5628e+00  3.1630e+008.4030e-01]
[ 2.9411e+00  1.6903e+00  6.8662e-01  4.8835e-01  2.4858e+00  2.3071e+008.6202e-01]
[ 2.8549e+00  1.3970e+00  6.8662e-01  3.8636e-01  2.4479e+00  2.3071e+009.0486e-01]
[ 2.7105e-01  8.1033e-01  1.0217e+00  6.8951e-01 -4.3503e-01 -4.3537e-011.9465e-01]
[-1.5960e-01  5.1701e-01  8.5414e-01  6.8951e-01 -6.2815e-01 -6.0995e-013.2378e-01]
[-2.4573e-01  3.7035e-01  6.8662e-01  6.8951e-01 -5.8902e-01 -4.3537e-014.0976e-01]
[-3.3186e-01 -5.0961e-01 -4.8842e-01 -1.1793e-01 -7.0514e-01 -2.6644e-01-1.4198e+00]
[-1.0196e+00 -2.1629e-01 -2.3595e-01 -3.1908e-01 -7.8214e-01 -7.7889e-01-1.0970e+00]
[-1.0196e+00 -6.5627e-01 -5.7100e-01 -4.1824e-01 -7.4301e-01 -6.0995e-01-1.0110e+00]
[-8.4735e-01 -2.1629e-01 -3.2089e-01 -2.1709e-01 -6.2815e-01 -2.6644e-01-7.7413e-01]
[-8.4735e-01 -5.0961e-01 -2.3595e-01 -1.1793e-01 -6.2815e-01 -7.7889e-01-5.3729e-01]
[-5.0283e-01 -2.1629e-01 -6.8426e-02 -2.1709e-01 -4.3503e-01 -9.7496e-02-3.2187e-01]
[ 9.8790e-02  7.7033e-02  4.3415e-01 -1.1793e-01 -2.0530e-01  2.4601e-01-7.7413e-01]
[ 1.8492e-01  7.7033e-02  3.5157e-01 -2.1709e-01 -5.1305e-02  2.4601e-01-7.5241e-01]
[ 7.0170e-01  2.2369e-01  8.5414e-01  8.3219e-02  1.4055e-01  2.4601e-01-4.9415e-01]
[ 5.2944e-01 -2.1629e-01  4.3415e-01 -2.1709e-01  1.7968e-01 -9.7496e-02-2.7903e-01]
[ 3.5718e-01  2.2369e-01  3.5157e-01 -2.1709e-01  6.3558e-02  5.8952e-01-3.8644e-01]
[-1.3641e+00 -1.0962e+00 -2.0811e+00 -1.4268e+00 -1.6617e-01  7.6410e-01-3.8644e-01]
[-1.3641e+00 -5.0961e-01 -1.0736e+00 -1.4268e+00 -2.4317e-01  4.2059e-01-2.1447e-01]]
seq_x_mark: [[-0.5     0.1667 -0.5    -0.0014][-0.5     0.1667 -0.5    -0.0014][-0.5     0.1667 -0.5    -0.0014][-0.5     0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.4565  0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.413   0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014]]
seq_y_mark: [[-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3696  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.3261  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2826  0.1667 -0.5    -0.0014][-0.2391  0.1667 -0.5    -0.0014][-0.2391  0.1667 -0.5    -0.0014][-0.2391  0.1667 -0.5    -0.0014][-0.2391  0.1667 -0.5    -0.0014][-0.1957  0.1667 -0.5    -0.0014][-0.1957  0.1667 -0.5    -0.0014][-0.1957  0.1667 -0.5    -0.0014][-0.1957  0.1667 -0.5    -0.0014][-0.1522  0.1667 -0.5    -0.0014][-0.1522  0.1667 -0.5    -0.0014][-0.1522  0.1667 -0.5    -0.0014][-0.1522  0.1667 -0.5    -0.0014][-0.1087  0.1667 -0.5    -0.0014][-0.1087  0.1667 -0.5    -0.0014][-0.1087  0.1667 -0.5    -0.0014][-0.1087  0.1667 -0.5    -0.0014][-0.0652  0.1667 -0.5    -0.0014][-0.0652  0.1667 -0.5    -0.0014][-0.0652  0.1667 -0.5    -0.0014][-0.0652  0.1667 -0.5    -0.0014][-0.0217  0.1667 -0.5    -0.0014][-0.0217  0.1667 -0.5    -0.0014][-0.0217  0.1667 -0.5    -0.0014][-0.0217  0.1667 -0.5    -0.0014]]

代码

class Dataset_Custom(Dataset):def __init__(self, root_path, flag='train', size=None,features='S', data_path='ETTh1.csv',target='OT', scale=True, timeenc=0, freq='h'):# size [seq_len, label_len, pred_len]# infoif size == None:self.seq_len = 24 * 4 * 4self.label_len = 24 * 4self.pred_len = 24 * 4else:self.seq_len = size[0]self.label_len = size[1]self.pred_len = size[2]# initassert flag in ['train', 'test', 'val']type_map = {'train': 0, 'val': 1, 'test': 2}self.set_type = type_map[flag]self.features = featuresself.target = targetself.scale = scaleself.timeenc = timeencself.freq = freqself.root_path = root_pathself.data_path = data_pathself.__read_data__()def __read_data__(self):self.scaler = StandardScaler()df_raw = pd.read_csv(os.path.join(self.root_path,self.data_path))'''df_raw.columns: ['date', ...(other features), target feature]'''cols = list(df_raw.columns)cols.remove(self.target)cols.remove('date')df_raw = df_raw[['date'] + cols + [self.target]]# print(cols)# num_train = int(len(df_raw) * 0.7)# print("num_train:",num_train)# num_test = int(len(df_raw) * 0.2)num_train = int(len(df_raw) * 0.5)print("num_train:",num_train)num_test = int(len(df_raw) * 0.2)num_vali = len(df_raw) - num_train - num_testborder1s = [0, num_train - self.seq_len, len(df_raw) - num_test - self.seq_len]border2s = [num_train, num_train + num_vali, len(df_raw)]border1 = border1s[self.set_type]border2 = border2s[self.set_type]if self.features == 'M' or self.features == 'MS':cols_data = df_raw.columns[1:]df_data = df_raw[cols_data]elif self.features == 'S':df_data = df_raw[[self.target]]if self.scale:train_data = df_data[border1s[0]:border2s[0]]self.scaler.fit(train_data.values)data = self.scaler.transform(df_data.values)#--------------------------------------------------------------------print("train_data.values",train_data.values)print("transform_data",data)inverse_transform_data=self.inverse_transform(data)print("inverse_transform_data:",inverse_transform_data)#--------------------------------------------------------------------else:data = df_data.valuesdf_stamp = df_raw[['date']][border1:border2]df_stamp['date'] = pd.to_datetime(df_stamp.date)if self.timeenc == 0:df_stamp['month'] = df_stamp.date.apply(lambda row: row.month, 1)df_stamp['day'] = df_stamp.date.apply(lambda row: row.day, 1)df_stamp['weekday'] = df_stamp.date.apply(lambda row: row.weekday(), 1)df_stamp['hour'] = df_stamp.date.apply(lambda row: row.hour, 1)data_stamp = df_stamp.drop(['date'], 1).valueselif self.timeenc == 1:print("df_stamp['date'].values:",df_stamp['date'].values)data_stamp = time_features(pd.to_datetime(df_stamp['date'].values), freq=self.freq)data_stamp = data_stamp.transpose(1, 0)self.data_x = data[border1:border2]self.data_y = data[border1:border2]self.data_stamp = data_stampprint("data_stamp:",data_stamp)print('\n'.join(['%s:%s' % item for item in self.__dict__.items()]) )def __getitem__(self, index):s_begin = indexs_end = s_begin + self.seq_lenr_begin = s_end - self.label_lenr_end = r_begin + self.label_len + self.pred_lenprint("s_begin:",s_begin)print("s_end:",s_end)print("r_begin:",r_begin)print("r_end:",r_end)seq_x = self.data_x[s_begin:s_end]seq_y = self.data_y[r_begin:r_end]seq_x_mark = self.data_stamp[s_begin:s_end]seq_y_mark = self.data_stamp[r_begin:r_end]print("seq_x.shape:",seq_x.shape)print("seq_y.shape:",seq_y.shape)print("seq_x_mark.shape:",seq_x_mark.shape)print("seq_y_mark.shape:",seq_y_mark.shape)print("seq_x:",seq_x)print("seq_y:",seq_y)print("seq_x_mark:",seq_x_mark)print("seq_y_mark:",seq_y_mark)return seq_x, seq_y, seq_x_mark, seq_y_markdef __len__(self):return len(self.data_x) - self.seq_len - self.pred_len + 1def inverse_transform(self, data):return self.scaler.inverse_transform(data)

对比下形状

 for i, (batch_x, , , ): torch.Size([1, 24, 7])for i, (, batch_y, , ): torch.Size([1, 36, 7])for i, (, , batch_x_mark, ): torch.Size([1, 24, 4])for i, (, , , batch_y_mark): torch.Size([1, 36, 4])
seq_x.shape: (24, 7)
seq_y.shape: (36, 7)
seq_x_mark.shape: (24, 4)
seq_y_mark.shape: (36, 4)

训练数据用

先用batch_x, batch_y, batch_x_mark, batch_y_mark作为参数

 outputs, batch_y = self._predict(batch_x, batch_y, batch_x_mark, batch_y_mark)
def _predict(self, batch_x, batch_y, batch_x_mark, batch_y_mark):# decoder inputdec_inp = torch.zeros_like(batch_y[:, -self.args.pred_len:, :]).float()dec_inp = torch.cat([batch_y[:, :self.args.label_len, :], dec_inp], dim=1).float().to(self.device)# encoder - decoderdef _run_model():outputs = self.model(batch_x, batch_x_mark, dec_inp, batch_y_mark)if self.args.output_attention:outputs = outputs[0]return outputs

batch_y变dec_inp
假如是Vanilla Transformer模型
输入的对应关系如下

 x_enc			= batch_xx_mark_enc 	= batch_x_markx_dec 			= dec_inpx_mark_dec 	= batch_y_mark

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/828044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令超详细介绍

目录 安装 Linux的目录结构: Linux命令入门: Linux命令的基础格式: 例子: ls 参数 选项 注意: 目录切换命令:cd/pwd cd: pwd: 相对路径和绝对路径: mkdir 不用参数: …

【Node.js工程师养成计划】之打造自己的脚手架工具

一、创建全局的自定义命令 1、打开一个空文件夹,新建一个bin文件夹,在bin文件夹下新建cli.js文件,js文件可以命名为cli.js(您随意) 2、在cli.js文件中的开头(!!)写下面这…

NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections

NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections(野外的 NERF: 用于无约束照片采集的神经辐射场) Abstract 我们提出了一种基于学习的方法来合成新的视图的复杂场景使用只有非结构化的收集野生照片。我们建立在神经辐射场(neRF)的…

对于地理空间数据,PostGIS扩展如何在PostgreSQL中存储和查询地理信息?

文章目录 一、PostGIS扩展简介二、PostGIS存储地理空间数据1. 创建空间数据表2. 插入空间数据 三、PostGIS查询地理空间数据1. 查询指定范围内的地理空间数据2. 计算地理空间数据之间的距离3. 对地理空间数据进行缓冲区分析 四、总结 地理空间数据是指描述地球表面物体位置、形…

11、【桥接模式】让将抽象和实现分离,使得它们可以独立地变化

你好,我是程序员雪球。 今天我们来聊聊 23 种设计模式中,一种常见的结构型模式,桥接模式。聊聊它的设计思想、应用场景,以及如何使用。 一、设计思想 桥接模式(Bridge Pattern)是一种结构型设计模式&#…

Python slice切片

1. 切片简介 取一个str、list、tuple的部分元素是非常常见的操作 切片 译自英文单词slice,指的是一部分切片 根据 步长step 从原序列中取出一部分元素组成新序列切片适用于 字符串、列表、元组 2. 切片的格式 字符串[开始索引:结束索引:步长] 包含开始索引, 不包含结束索…

vue+springboot实验个人信息,修改密码,忘记密码功能实现

前端部分 新增Person(个人页面),Password(修改密码页面),还需要对Manager,login页面进行修改 router文件夹下的index.js: import Vue from vue import VueRouter from vue-router i…

在 vue3 中使用高德地图

前言:定位地图位置所需要的经纬度,可以通过 拾取坐标 获取。 一:快速上手 1. 安装依赖 npm install amap/amap-jsapi-loader # or pnpm add amap/amap-jsapi-loader # or yarn add amap/amap-jsapi-loader 2. 创建组件 src/components/Ma…

飞书小技巧:markdown导出

文章目录 下载Feishu2Md飞书应用配置配置feishu2md工具绑定应用导出markdown 下载Feishu2Md Feishu2Md 飞书应用配置 进入飞书开发者后台 https://open.feishu.cn/app。 点击“创建企业自建应用”,并填写应用名称等信息。而后点击创建。 PS: 此处作者创建应用名…

C++ | Leetcode C++题解之第42题接雨水

题目&#xff1a; 题解&#xff1a; class Solution { public:int trap(vector<int>& height) {int n height.size();if (n 0) {return 0;}vector<int> leftMax(n);leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] max(leftMax[i - 1], he…

【Linux系统编程】

Linux系统编程 一.文件编程1.常用API1.1 打开&#xff1a;open1.2 读写&#xff1a;write/read1.3 光标定位: lseek1.4 创建&#xff1a;creat1.4 关闭&#xff1a;close 2.文件的打开及创建3.文件的写入4.文件的读取5.文件描述符5.代码实现cp指令6.编程实现修改文件配置7.写一…

实现Node.js安装与配置。

一 、Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;用于构建高性能、可扩展的网络应用程序。它发布于2009年5月&#xff0c;由Ryan Dahl开发&#xff0c;允许使用JavaScript进行服务器端编程&#xff0c;使开发者能够在前后端都使用同一种编程…

Unity 新版输入系统(Input System)

前言 官方教程 注意 新的输入系统需要 Unity 2019.4 和 .NET 4 运行时。它不适用于 .NET 3.5 的项目。 教程版本&#xff1a;Unity 2021.3.26 1. 安装 1.1 打开 Package Manager 导航栏 -> Window -> Package Manager 1.2 安装 Input System 选择 Unity Registry 在列…

RabbitMQ, DelayQueue, Redis的介绍以及IDEA的实现

RabbitMQ RabbitMQ是一个开源的消息队列中间件&#xff0c;它实现了高效、可靠的消息传递机制。它支持多种消息传递模式&#xff0c;如发布/订阅、点对点、请求/回应等。RabbitMQ以其可靠性、灵活性和易用性受到广泛的关注和应用。 RabbitMQ基于AMQP&#xff08;Advanced Mess…

孙中亮:北斗三十周年,看北斗芯片高质量发展历程和方向

1994年1月10日&#xff0c;北斗一号建设正式启动&#xff0c;党中央决策建设独立自主的北斗卫星导航系统。2020年7月31日&#xff0c;北斗三号全球卫星导航系统正式开通&#xff0c;标志着北斗系统进入全球化发展新阶段。随着2024年的到来&#xff0c;北斗系统建设已走过栉风沐…

汇智知了堂走进宜宾学院,共话国产化信创未来!

在春意盎然的四月&#xff0c;汇智知了堂以其深厚的品牌底蕴和卓越的教育品质&#xff0c;再次展现了其在教育领域的领先地位。4月18日&#xff0c;汇智知了堂走进宜宾学院&#xff0c;为广大学子带来了一场关于国产化信创时代的技术变革与专业学习建议的讲座。 汇智知了堂作…

2024深圳杯(东三省)数学建模挑战赛D题:音板的振动模态分析与参数识别思路代码成品论文分析

​ 更新完整代码和成品完整论文 《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓ https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc# 问题重述 深圳杯&#xff08;东三省&#xff09;数学建模挑战赛2024D题&#xff1a;音板的振动模态分析与…

YoloV9改进策略:注意力改进、Neck层改进_自研全新的Mamba注意力_即插即用,简单易懂_附结构图_检测、分割、关键点均适用(独家原创,全世界首发)

摘要 无Mamba不狂欢,本文打造基于Mamba的注意力机制。全世界首发基于Mamba的注意力啊!对Mamba感兴趣的朋友一定不要错过啊! 基于Mamba的高效注意力代码和结构图 import torch import torch.nn as nn # 导入自定义的Mamba模块 from mamba_ssm import Mamba class Eff…

vue做导入导出excel文档

系统中经常会遇到要实现批量导入/导出数据的功能&#xff0c;导入就需要先下载一个模板&#xff0c;然后在模板文件中填写内容&#xff0c;最后导入模板&#xff0c;导出就可能是下载一个excel文件。 1、导出 新建一个export.js文件如下&#xff1a; import {MessageBox,Mes…

赋能数据检索:构建用于www.sohu.com的新闻下载器

引言 在信息爆炸的时代&#xff0c;随着新闻数据的数量不断增长&#xff0c;获取和分析这些数据变得尤为关键。本文将介绍如何构建一个高效的新闻下载器&#xff0c;专门用于从搜狐网&#xff08;www.sohu.com&#xff09;检索和下载新闻内容。 背景介绍 搜狐网作为中国领先…