---
# System prepended metadata

title: Untitled

---

演習
```python
import torch
class Dataset:
    def __init__(self, data):
        self.data = data
        
    def __getitem__(self, index):
        data = self.data[index]
        
        return data


data = torch.rand(100)
a = Dataset(data)
a[50]
a[50]
```

__竹川コメント__
- 基本方針問題ないです.
- 2つ課題があります
  1. lenが100 
     - `len(a)`はエラーになると思います
  2. Datasetクラス
    - 曖昧でしたが、Pytorch側で用意している`Dataset`クラスを継承するという意味で書いてました.``
 
 - torch.nn.Moduleのように,torch.hogehogeで様々なクラスを定義してくれています。
 - Pytorch側のDatasetクラスというのは具体的に言うと`torch.utils.data.Dataset`クラスのことです.

``
```

import torch
class Dataset:
    def __init__(self,data):
        self.data = data
        
    def __len__(self):
        return len(self.data)

    def __getitem__(self, index):
        data = self.data[index]
        
        return data
data = torch.rand(100)
a = Dataset(data)
len(a)
```
小松崎：lenは出せたのですが、「pytorch側で用意している」Datasetクラスがよくわかっていないです。





```
from torch import nn
net = nn.Sequential(nn.Linear(4,3), nn.ReLU())
net.add_module("l2", nn.Linear(3, 3))
print(net)
```
