python - 不支持 numpy 数组类型?
问题描述
我正在尝试复制一个我能够遵循并通过教程运行的模型,但这次使用的是我自己的数据。
我能够将我自己的 MRI 图像转换为与教程数据的数组相同维度的 numpy 数组。
我尝试用我自己的数组替换教程中的 numpy 数组,并为正常或异常(大小写,而不是大小写)编写我自己的虚构 csv 文件。
但是,当我运行它时,我得到:
(Pytorch) C:\Users\GlaDOS\PythonProjects\dicomnpy>python train.py -t acl -p sagittal --epochs=10 --prefix_name hue
Traceback (most recent call last):
File "train.py", line 277, in <module>
run(args)
File "train.py", line 214, in run
mrnet, train_loader, epoch, num_epochs, optimizer, writer, current_lr, log_every)
File "train.py", line 34, in train_model
for i, (image, label, weight) in enumerate(train_loader):
File "C:\Users\GlaDOS\anaconda3\envs\Pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 345, in __next__
data = self._next_data()
File "C:\Users\GlaDOS\anaconda3\envs\Pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 385, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "C:\Users\GlaDOS\anaconda3\envs\Pytorch\lib\site-packages\torch\utils\data\_utils\fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "C:\Users\GlaDOS\anaconda3\envs\Pytorch\lib\site-packages\torch\utils\data\_utils\fetch.py", line 44, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File "C:\Users\GlaDOS\PythonProjects\dicomnpy\dataloader.py", line 56, in __getitem__
array = self.transform(array)
File "c:\users\glados\src\torchsample\torchsample\transforms\tensor_transforms.py", line 32, in __call__
inputs = transform(*inputs)
File "C:\Users\GlaDOS\anaconda3\envs\Pytorch\lib\site-packages\torchvision\transforms\transforms.py", line 313, in __call__
return self.lambd(img)
File "train.py", line 167, in <lambda>
transforms.Lambda(lambda x: torch.Tensor(x)),
TypeError: can't convert np.ndarray of type numpy.uint16. The only supported types are: float64, float32, float16, int64, int32, int16, int8, uint8, and bool.
现在我想知道这个错误是否意味着我没有将我的 MRI 转换为“正确的”numpy 数组类型?如果是这样,我该如何将它们更改为正确的类型?
解决方案
您可以使用重新定义变量astype
your_array = your_array.astype(np.uint16)
推荐阅读
- swift - How to set the initial view to have navigation bar back button SwiftUI
- c++ - How to find cyrillic word in text
- php - Display images from outside of web directory
- c# - Discord 机器人反应数组
- go - Goroutine 阻止程序结束
- javascript - 从注入的代码发送消息到后台脚本
- vb.net - 标签中的文本显示为奇数符号 - VB.NET
- python - 在窗格窗口中使用滚动条调整 Treeview 的大小不起作用
- java - Netbeans 8.2 卡在加载屏幕消息日志
- r - 如何在 R 中对 table1 函数中的行进行子集化?