GVKun编程网logo

如何在tf.data.Dataset中输入大小不同的列表的列表(tf.data.dataset.shuffle(60000).repeat().batch())

14

本文将为您提供关于如何在tf.data.Dataset中输入大小不同的列表的列表的详细介绍,我们还将为您解释tf.data.dataset.shuffle(60000).repeat().batch(

本文将为您提供关于如何在tf.data.Dataset中输入大小不同的列表的列表的详细介绍,我们还将为您解释tf.data.dataset.shuffle(60000).repeat().batch()的相关知识,同时,我们还将为您提供关于.net – Linq:获取DataContext中所有表的列表、asp.net – Datareader,DataAdapter,Dataset,DataView之间的区别、ASP.NET中DataTable与DataSet之间的转换示例、c# – 使用FastMember将不同的对象列表转换为DataTable的实用信息。

本文目录一览:

如何在tf.data.Dataset中输入大小不同的列表的列表(tf.data.dataset.shuffle(60000).repeat().batch())

如何在tf.data.Dataset中输入大小不同的列表的列表(tf.data.dataset.shuffle(60000).repeat().batch())

我有一长串的整数列表(代表句子,每个句子的大小不同),我想使用tf.data库进行输入。每个列表(列表列表中的列表)都有不同的长度,并且出现错误,可以在此处重现:

t = [[4,2], [3,4,5]]dataset = tf.data.Dataset.from_tensor_slices(t)

我得到的错误是:

ValueError: Argument must be a dense tensor: [[4, 2], [3, 4, 5]] - got shape [2], but wanted [2, 2].

有没有办法做到这一点?

编辑1:明确一点,我不想填充列表的输入列表(这是包含超过一百万个元素的句子列表,长度不同),我想使用tf.data库在一个正确的方法是使用长度可变的列表列表。

答案1

小编典典

您可以tf.data.Dataset.from_generator()用来将任何可迭代的Python对象(例如列表列表)转换为Dataset

t = [[4, 2], [3, 4, 5]]dataset = tf.data.Dataset.from_generator(lambda: t, tf.int32, output_shapes=[None])iterator = dataset.make_one_shot_iterator()next_element = iterator.get_next()with tf.Session() as sess:  print(sess.run(next_element))  # ==> ''[4, 2]''  print(sess.run(next_element))  # ==> ''[3, 4, 5]''

.net – Linq:获取DataContext中所有表的列表

.net – Linq:获取DataContext中所有表的列表

我有一个包含100多个表的DataContext(Linq到sql),是否可以获取所有这些表的列表并让它们打印到控制台?这可能是一个愚蠢的问题.

谢谢.

解决方法

它比上面容易得多,不需要反射. Linq to sql有一个Mapping属性,可用于获取所有表的枚举.
context.Mapping.GetTables();

asp.net – Datareader,DataAdapter,Dataset,DataView之间的区别

asp.net – Datareader,DataAdapter,Dataset,DataView之间的区别

有人可以解释DataReader,DataAdapter,Dataset和DataView之间的区别吗?

解决方法

很快,

> DataReader是一组结果的前向迭代器。当您不需要随机访问(换句话说,您不能倒退)),通常是处理记录的最有效方式。至少在内存压力方面,它是“可扩展的”任何数量的记录,因为它一次只加载一个记录。获取DataReader的一个典型方式是使用DbCommand的ExecuteReader方法。> DataSet表示一组DataTable对象。通常情况下,它只包含一个表,但是如果您使用多个SELECT语句进行查询,则DataSet将为每个表包含一个表。因为这是一个内存中的表示形式,所以您必须注意数据集中的数据量。您可以使用DataAdapter的填充方法“填充”DataSet。> DataAdapter是一种将数据库引擎中的数据从DataSet中抽取出来的“管道”。这就是为什么每个数据库提供者类型都有一个DataAdapter实现的原因。一个DataSet,很多提供商。> DataView就像DataTable的一个虚拟子集。

ASP.NET中DataTable与DataSet之间的转换示例

ASP.NET中DataTable与DataSet之间的转换示例

DataSet包含了多个DataTable,以及DataTable之间的约束关系。
如果你的数据不需要做关系映射,直接用DataTable效率比较高。如果有需要1:N或N:M这样的关系查询,将DataSet中的相应DataTable全部填充,再使用关系查询数据。

DataSet数据源你可以把它看成数据库,而DataTable就是数据库里的一个表

将DataTable添加到DataSet中:

在项目中遇到DataTable 无法直接转换成DataSet 时,

可以先new
可以先new DataSet c出来再填充就好了
DataSet ds = new DataSet();
DataTable dt= new DataTable("Customers");

ds.Tables.Add(dt);

读取DataSet中某一个DataTable:

dt=ds.Tables[0];//指定第0个表

dt=ds.Tables["Customers"];//指定表名为“Customers”的表
您可能感兴趣的文章:
  • asp.net实现导出DataTable数据到Word或者Excel的方法
  • asp.net实现数据从DataTable导入到Excel文件并创建表的方法
  • Asp.net中DataTable导出到Excel的方法介绍
  • asp.net 读取Excel数据到DataTable的代码
  • ASP.NET DataTable去掉重复行的2种方法
  • ASP.NET怎么操作DataTable实例应用
  • Asp.net下使用Jquery Ajax传送和接收DataTable的代码
  • asp.net 数据库的连接和datatable类
  • Asp.net静态方法之Grid转DataTable方法实现步骤
  • Asp.net实现选择性的保留DataTable中的列
  • asp.net DataTable导出Excel自定义列名的方法

c# – 使用FastMember将不同的对象列表转换为DataTable

c# – 使用FastMember将不同的对象列表转换为DataTable

我编写了一个方法,使用NuGet中的 FastMember将通用列表转换为DataTable.

这是我的代码:

public  DataTable ConvertGenericListToDataTable(List<CustomObject> inputList)
{
    var dt = new DataTable();
    using (var reader = ObjectReader.Create(inputList))
    {
         dt.Load(reader);
    }
    return dt;
}


var customObject = new List<CustomObject>();
var dt = ListToDataTable.ConvertGenericListToDataTable(customObject);

哪个工作正常.
Customobject是我创建的自定义对象,我有几个不同的列表,我想传递给我的方法:List< CustomobjectA>或列表< CustomobjectB>等等.
为我想要转换为DataTable的每种类型的列表编写方法并不是一个问题,但这可能会一遍又一遍地重复相同的代码行,这显然是我想要防止的

我尝试将参数的类型更改为List< object>和列表< dynamic>.
然后我的代码将无法编译,因为:“ConvertGenericListToDataTable的最佳重载方法匹配有一些无效的参数”.

有没有办法可以将对象列表作为参数传递而不定义对象的确切类型?

解决方法

为’CustomObject’创建一个接口,它定义了必须是实现’CustomObject’接口的类的一部分的方法和属性.然后确保’CustomObjectA’和’CustomObjectB’继承’CustomObject’接口,在’CustomObjectA’和’CustomObjectB’中执行所有必需的实现.

要使’ConvertGenericListToDataTable’方法接受任何’CustomObject’,只需让它接受任何实现’CustomObject’接口的类.

这样,您可以确保列表中提供的对象具有所需的方法和属性.

我可能会弄错语法,但是这样的话:

interface ICustomObject
{
    public string requiredProperty { get; }

    public void requiredMethod();
}

public class CustomObjectA : ICustomObject
{
    public string requiredProperty
    {
        get
        {
            return "I'm CustomObjectA";
        }
    }

    public void requiredMethod()
    {
        // do anything
    }
}

public class CustomObjectB : ICustomObject
{
    public string requiredProperty
    {
        get
        {
            return "I'm CustomObjectB";
        }
    }

    public void requiredMethod()
    {
        // do anything
    }
}

public void AcceptsAllCustomObjects(List<ICustomObject> Cookies)
{
    Console.WriteLine(Cookies[0].requiredProperty);
}

关于如何在tf.data.Dataset中输入大小不同的列表的列表tf.data.dataset.shuffle(60000).repeat().batch()的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.net – Linq:获取DataContext中所有表的列表、asp.net – Datareader,DataAdapter,Dataset,DataView之间的区别、ASP.NET中DataTable与DataSet之间的转换示例、c# – 使用FastMember将不同的对象列表转换为DataTable的相关信息,请在本站寻找。

本文标签: