修改requirements.txt文件,添加main函数判断

This commit is contained in:
Jingfan Ke 2023-10-11 00:05:07 +08:00
parent d7e6706623
commit 1e25f418ae
5 changed files with 244 additions and 358 deletions

View File

@ -95,25 +95,26 @@ class My_Dataset(Dataset):
return x, y
learning_rate = 5e-2
num_epochs = 10
batch_size = 1024
device = "cuda:0" if torch.cuda.is_available() else "cpu"
if __name__ == "__main__":
learning_rate = 5e-2
num_epochs = 10
batch_size = 1024
device = "cuda:0" if torch.cuda.is_available() else "cpu"
dataset = My_Dataset()
dataloader = DataLoader(
dataset = My_Dataset()
dataloader = DataLoader(
dataset=dataset,
batch_size=batch_size,
shuffle=True,
num_workers=14,
pin_memory=True,
)
)
model = Model_2_1().to(device)
criterion = My_BCELoss()
optimizer = My_optimizer(model.parameters(), lr=learning_rate)
model = Model_2_1().to(device)
criterion = My_BCELoss()
optimizer = My_optimizer(model.parameters(), lr=learning_rate)
for epoch in range(num_epochs):
for epoch in range(num_epochs):
total_epoch_loss = 0
total_epoch_pred = 0
total_epoch_target = 0
@ -135,7 +136,7 @@ for epoch in range(num_epochs):
f"Epoch {epoch + 1}/{num_epochs}, Loss: {total_epoch_loss}, Acc: {1 - abs(total_epoch_pred - total_epoch_target) / total_epoch_target}"
)
with torch.no_grad():
with torch.no_grad():
test_data = (np.array([[2]]) - dataset.min_x) / (dataset.max_x - dataset.min_x)
test_data = Variable(
torch.tensor(test_data, dtype=torch.float64), requires_grad=False

View File

@ -38,25 +38,26 @@ class My_Dataset(Dataset):
return x, y
learning_rate = 5e-2
num_epochs = 10
batch_size = 1024
device = "cuda:0" if torch.cuda.is_available() else "cpu"
if __name__ == "__main__":
learning_rate = 5e-2
num_epochs = 10
batch_size = 1024
device = "cuda:0" if torch.cuda.is_available() else "cpu"
dataset = My_Dataset()
dataloader = DataLoader(
dataset = My_Dataset()
dataloader = DataLoader(
dataset=dataset,
batch_size=batch_size,
shuffle=True,
num_workers=14,
pin_memory=True,
)
)
model = Model_2_2().to(device)
criterion = nn.BCELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
model = Model_2_2().to(device)
criterion = nn.BCELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
for epoch in range(num_epochs):
for epoch in range(num_epochs):
total_epoch_loss = 0
total_epoch_pred = 0
total_epoch_target = 0
@ -81,7 +82,7 @@ for epoch in range(num_epochs):
f"Epoch {epoch + 1}/{num_epochs}, Loss: {total_epoch_loss}, Acc: {1 - abs(total_epoch_pred - total_epoch_target) / total_epoch_target}"
)
with torch.no_grad():
with torch.no_grad():
test_data = (np.array([[2]]) - dataset.min_x) / (dataset.max_x - dataset.min_x)
test_data = Variable(
torch.tensor(test_data, dtype=torch.float64), requires_grad=False

View File

@ -96,44 +96,45 @@ class Model_3_1:
return self.params
learning_rate = 5e-1
num_epochs = 10
batch_size = 4096
num_classes = 10
device = "cuda:0" if torch.cuda.is_available() else "cpu"
if __name__ == "__main__":
learning_rate = 5e-1
num_epochs = 10
batch_size = 4096
num_classes = 10
device = "cuda:0" if torch.cuda.is_available() else "cpu"
transform = transforms.Compose(
transform = transforms.Compose(
[
transforms.ToTensor(),
transforms.Normalize((0.5,), (1.0,)),
]
)
train_dataset = datasets.FashionMNIST(
)
train_dataset = datasets.FashionMNIST(
root="../dataset", train=True, transform=transform, download=True
)
test_dataset = datasets.FashionMNIST(
)
test_dataset = datasets.FashionMNIST(
root="../dataset", train=False, transform=transform, download=True
)
train_loader = DataLoader(
)
train_loader = DataLoader(
dataset=train_dataset,
batch_size=batch_size,
shuffle=True,
num_workers=14,
pin_memory=True,
)
test_loader = DataLoader(
)
test_loader = DataLoader(
dataset=test_dataset,
batch_size=batch_size,
shuffle=True,
num_workers=14,
pin_memory=True,
)
)
model = Model_3_1(num_classes).to(device)
criterion = My_CrossEntropyLoss()
optimizer = My_optimizer(model.parameters(), lr=learning_rate)
model = Model_3_1(num_classes).to(device)
criterion = My_CrossEntropyLoss()
optimizer = My_optimizer(model.parameters(), lr=learning_rate)
for epoch in range(num_epochs):
for epoch in range(num_epochs):
total_epoch_loss = 0
for index, (images, targets) in tqdm(
enumerate(train_loader), total=len(train_loader)
@ -144,7 +145,9 @@ for epoch in range(num_epochs):
targets = targets.to(device).to(dtype=torch.long)
one_hot_targets = (
my_one_hot(targets, num_classes=num_classes).to(device).to(dtype=torch.long)
my_one_hot(targets, num_classes=num_classes)
.to(device)
.to(dtype=torch.long)
)
outputs = model(images)

View File

@ -20,44 +20,45 @@ class Model_3_2(nn.Module):
return x
learning_rate = 5e-2
num_epochs = 10
batch_size = 4096
num_classes = 10
device = "cuda:0" if torch.cuda.is_available() else "cpu"
if __name__ == "__main__":
learning_rate = 5e-2
num_epochs = 10
batch_size = 4096
num_classes = 10
device = "cuda:0" if torch.cuda.is_available() else "cpu"
transform = transforms.Compose(
transform = transforms.Compose(
[
transforms.ToTensor(),
transforms.Normalize((0.5,), (1.0,)),
]
)
train_dataset = datasets.FashionMNIST(
)
train_dataset = datasets.FashionMNIST(
root="../dataset", train=True, transform=transform, download=True
)
test_dataset = datasets.FashionMNIST(
)
test_dataset = datasets.FashionMNIST(
root="../dataset", train=False, transform=transform, download=True
)
train_loader = DataLoader(
)
train_loader = DataLoader(
dataset=train_dataset,
batch_size=batch_size,
shuffle=True,
num_workers=14,
pin_memory=True,
)
test_loader = DataLoader(
)
test_loader = DataLoader(
dataset=test_dataset,
batch_size=batch_size,
shuffle=True,
num_workers=14,
pin_memory=True,
)
)
model = Model_3_2(num_classes).to(device)
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
model = Model_3_2(num_classes).to(device)
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
for epoch in range(num_epochs):
for epoch in range(num_epochs):
total_epoch_loss = 0
model.train()
for index, (images, targets) in tqdm(

View File

@ -1,128 +1,8 @@
anyio==4.0.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.0
async-lru==2.0.4
attrs==23.1.0
Babel==2.13.0
backcall==0.2.0
beautifulsoup4==4.12.2
black==23.9.1
bleach==6.1.0
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.0
click==8.1.7
comm==0.1.4
debugpy==1.8.0
decorator==5.1.1
defusedxml==0.7.1
exceptiongroup==1.1.3
executing==2.0.0
fastjsonschema==2.18.1
filelock==3.12.4
fqdn==1.5.1
fsspec==2023.9.2
idna==3.4
ipdb==0.13.13
ipykernel==6.25.2
ipython==8.16.1
ipython-genutils==0.2.0
ipywidgets==8.1.1
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.2
json5==0.9.14
jsonpointer==2.4
jsonschema==4.19.1
jsonschema-specifications==2023.7.1
jupyter==1.0.0
jupyter-console==6.6.3
jupyter-events==0.7.0
jupyter-lsp==2.2.0
jupyter_client==8.3.1
jupyter_core==5.3.2
jupyter_server==2.7.3
jupyter_server_terminals==0.4.4
jupyterlab==4.0.6
jupyterlab-pygments==0.2.2
jupyterlab-widgets==3.0.9
jupyterlab_server==2.25.0
MarkupSafe==2.1.3
matplotlib-inline==0.1.6
mistune==3.0.2
mpmath==1.3.0
mypy-extensions==1.0.0
nbclient==0.8.0
nbconvert==7.9.2
nbformat==5.9.2
nest-asyncio==1.5.8
networkx==3.1
notebook==7.0.4
notebook_shim==0.2.3
numpy==1.26.0
nvidia-cublas-cu12==12.1.3.1
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==8.9.2.26
nvidia-cufft-cu12==11.0.2.54
nvidia-curand-cu12==10.3.2.106
nvidia-cusolver-cu12==11.4.5.107
nvidia-cusparse-cu12==12.1.0.106
nvidia-nccl-cu12==2.18.1
nvidia-nvjitlink-cu12==12.2.140
nvidia-nvtx-cu12==12.1.105
overrides==7.4.0
packaging==23.2
pandocfilters==1.5.0
parso==0.8.3
pathspec==0.11.2
pexpect==4.8.0
pickleshare==0.7.5
Pillow==10.0.1
platformdirs==3.11.0
prometheus-client==0.17.1
prompt-toolkit==3.0.39
psutil==5.9.5
ptyprocess==0.7.0
pure-eval==0.2.2
pycparser==2.21
Pygments==2.16.1
python-dateutil==2.8.2
python-json-logger==2.0.7
PyYAML==6.0.1
pyzmq==25.1.1
qtconsole==5.4.4
QtPy==2.4.0
referencing==0.30.2
requests==2.31.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.10.4
Send2Trash==1.8.2
six==1.16.0
sniffio==1.3.0
soupsieve==2.5
stack-data==0.6.3
sympy==1.12
terminado==0.17.1
tinycss2==1.2.1
tomli==2.0.1
torch==2.1.0
torchaudio==2.1.0
torchvision==0.16.0
tornado==6.3.3
tqdm==4.66.1
traitlets==5.11.2
triton==2.1.0
types-python-dateutil==2.8.19.14
typing_extensions==4.8.0
uri-template==1.3.0
urllib3==2.0.6
wcwidth==0.2.8
webcolors==1.13
webencodings==0.5.1
websocket-client==1.6.4
widgetsnbextension==4.0.9