问题描述
我正在尝试训练一个二元神经网络,它将获取一个单词并确定这个单词是否在语言 L 中。
单词是位串,语言由模式定义。 我的数据集看起来像这样
001101000010010,False
111001001000000,False
111011101001100,False
011111000101101,False
10000110000110001100,True
011100100001010,False
....
但如果需要,我可以以其他方式创建数据集(我知道定义语言的“真实”函数是什么。
我想像这样加载数据集,但它不起作用:
class myDataset(T.utils.data.Dataset):
# WORD T/f
# 010000101010000 FALSE
def __init__(self,src_file,m_rows=None):
all_xy = np.loadtxt(src_file,max_rows=m_rows,usecols=[0,1],delimiter=",",skiprows=0,dtype=np.int)
tmp_x = all_xy[:,[0]]
tmp_y = all_xy[:,1].reshape(-1,1) # 2-D required
self.x_data = T.tensor(tmp_x).to(device)
self.y_data = T.tensor(tmp_y).to(device)
self.x_data = tmp_x
self.y_data = tmp_y
但我收到错误
溢出错误:Python int 太大,无法转换为 C long
由于数量太大, 将位串视为文本时
tmp_x = np.loadtxt(src_file,usecols=[0],dtype=np.str)
我收到错误
类型错误:无法转换 numpy.str_ 类型的 np.ndarray。唯一支持的类型是:float64、float32、float16、complex64、complex128、int64、int32、int16、int8、uint8 和 bool。
我是 Pytorch 编程的新手,我不确定编写和加载此数据集的正确方法是什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)