bikes_numpy = np.loadtxt("../../data/chapter3/hour-fixed.csv", dtype=np.float32, delimiter=",", skiprows=1, converters={1: lambda x: float(x[8:10])}) bikes = torch.from_numpy(bikes_numpy) bikes
时间: 2023-02-19 14:10:47 浏览: 228
这段代码使用了 Numpy 库中的 loadtxt 函数来读取 "../../data/chapter3/hour-fixed.csv" 文件,并将其转换为 float32 类型的数组,以逗号分隔,跳过第 1 行,并使用 converters 参数将第 1 列的数据转换为从第 8 个字符开始的两个字符的浮点数。
然后,使用 PyTorch 中的 from_numpy 函数将 Numpy 数组转换为 PyTorch 张量。
最后,bikes 变量是 PyTorch 张量。
相关问题
daily_bikes = bikes.view(-1, 24, bikes.shape[1]) daily_bikes.shape, daily_bikes.stride()
这段代码中,首先定义了一个变量 daily_bikes,它是对变量 bikes 的视图(view)。这个视图操作实际上是对 bikes 进行重新 reshape(重塑)的操作,将其变为三维张量,形状为 (-1, 24, bikes.shape[1])。
其中,-1 表示的是第一维的大小是根据其他维度的大小自动计算出来的,24 表示第二维的大小为 24,bikes.shape[1] 表示第三维的大小是 bikes 的第二维的大小。
接下来,输出 daily_bikes 的形状(shape)和步长(stride)。步长(stride)是指在内存中相邻元素间的存储间隔,即元素间的距离。
first_day = bikes[:24].long() weather_onehot = torch.zeros(first_day.shape[0], 4) first_day[:,9]
### 回答1:
首先,取出 `bikes` 列表的前 24 行并转化为长整型:
```python
first_day = bikes[:24].long()
```
接着,创建一个用于保存天气类型的 one-hot 编码的张量:
```python
weather_onehot = torch.zeros(first_day.shape[0], 4)
```
最后,取出第一天数据中第 9 列的数据:
```python
first_day[:, 9]
```
### 回答2:
first_day = bikes[:24].long() 表示取出bikes中的前24个元素,并将其转换为long类型。
weather_onehot = torch.zeros(first_day.shape[0], 4) 表示创建一个形状为(first_day.shape[0], 4)的全部为0的tensor。
first_day[:, 9] 表示对first_day tensor的第9列进行切片操作。
综合起来,以上代码的意思是将bikes中的前24个元素转换为long类型,并将其存储在first_day中,然后创建一个形状为(first_day.shape[0], 4)的全部为0的tensor,并存储在weather_onehot中,最后对first_day tensor的第9列进行切片操作。
阅读全文