运行程序时报错:
root@98ac4a9e8de7:/home/work/gaotong/datasets/Living_Body/pytorch# python gen_train_test_txt.py
File "gen_train_test_txt.py", line 1
SyntaxError: Non-ASCII character '\x8d' in file gen_train_test_txt.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
明明文件中没有什么中文,弄了一上午,发现是公司的加密系统解密后有问题,传到服务器上乱码了,真是…
新建一个文件,把代码贴进去,保存,再变个文件名
root@98ac4a9e8de7:/home/work/gaotong/datasets/Living_Body/pytorch# vi test.py
root@98ac4a9e8de7:/home/work/gaotong/datasets/Living_Body/pytorch# cp test.py gen_train_test_txt.py
root@98ac4a9e8de7:/home/work/gaotong/datasets/Living_Body/pytorch# cat gen_train_test_txt.py
import os
from sklearn.model_selection import StratifiedKFold
import argparse
#import train_CyclicLR
import cv2
def gen_train_txt(base_path):
type_list = ['test_neg_50k', 'test_pos_50k']#os.listdir(base_path)
train_data = []
train_label = []
label = -1
for type_index in type_list:
if ('test_neg_50k' in type_index): #or ('Negative' in type_index):
label = 0
if ('test_pos_50k' in type_index):# or ('Positive' in type_index):
label = 1
if label == -1:
continue
img_file_path = os.path.join(base_path, type_index)
image_list = os.listdir(img_file_path)
s = 0
for image_index in image_list:
# if not (s == 8495 and s == 9288):
train_data.append(os.path.join(img_file_path, image_index)
train_label.append(label)
s = s + 1
return train_data, train_label
def main():
base_path = '/home/work/gaotong/face/datasets/Living_Body/data/'
save_path = '/home/work/gaotong/face/datasets/Living_Body/data/preprocess/'
all_data, all_label = gen_train_txt(base_path)
# sfolder = StratifiedKFold(n_splits=10, random_state=0, shuffle=True)
# flod_index = 0
# for train_list, test_list in sfolder.split(all_data, all_label):
with open(save_path + "Final_depth_test.txt", "w") as fp:
for i in range(len(all_data)):
element = all_data[i] + "," + str(all_label[i]) + '\n'
# print(element.replace('\\', '/'))
fp.write(element)
fp.close()
if __name__ == '__main__':
main()